|
Несколько задач в одной точке маршрута Бизнес-процесса в УТ 11. |
☑ |
0
breakthrough
24.03.17
✎
08:57
|
Здравствуйте.
Создаю в точке бизнес-процесса программно несколько задач. Ожидаю, что после выполнения каждой из них произойдет движение по маршруту, но увы оно осуществляется только в случае выполнения всех задач в данной точке.
Вопрос: Как разделить точку маршрута на несколько задач так, чтобы они стали выполнятся параллельно?
|
|
1
FIXXXL
24.03.17
✎
10:11
|
вложенный БП?
|
|
2
Михаил Козлов
24.03.17
✎
10:39
|
Т.е. Вы хотите перейти дальше по маршруту при выполнении любой из задач? Непонятно, зачем тогда несколько.
|
|
3
Вафель
24.03.17
✎
10:55
|
после выполнения любой задачи?
|
|
4
breakthrough
24.03.17
✎
11:02
|
(1) Спасибо! Уже начал реализовывать через вложенный БП.
Получается, что буду запускать несколько вложенных БП в зависимости от условий. Опять же возникает вопрос сколько тогда ведущих задач использовать: одну для всех вложенных или несколько?
Мне нужно чтобы на определенном этапе БП разделялся на несколько, условно, потоков, которые выполнялись бы независимо друг от друга, а потом снова сходился в основную линию.
|
|
5
breakthrough
24.03.17
✎
11:16
|
(2) Нет, я хочу перейти при выполнении всех из них. Но они все однотипные. отличаются только предметом.
|
|
6
fedoss
24.03.17
✎
11:17
|
(5) А чего тогда просто не использовать разделение/слияние?
|
|
7
breakthrough
24.03.17
✎
11:25
|
(6) Дело в том, что у меня после разделения подразумевается цепочка из точек действия в каждой из которых создается несколько задач и идти они должны друг за другом в разрезе предметов. Получается что на каждом этапе приходится ждать выполнения всех задач.
|
|
8
breakthrough
24.03.17
✎
11:26
|
(6) Как я вижу это сейчас - несколько БП по каждому из предметов.
|
|
9
breakthrough
24.03.17
✎
13:56
|
Решение было найдено. Если кому-то интересно, то вот:
Процедура КонтрольКонтрактаПередСозданиемВложенныхБизнесПроцессов(ТочкаМаршрутаБизнесПроцесса, ФормируемыеБизнесПроцессы, Отказ)
// СтандартнаяОбработка = Ложь;
СписокКонтрактовТЗ = ПолучитьСписокКонтрактов(Предмет);
Для каждого Контракт Из СписокКонтрактовТЗ Цикл
БизнесПроцесс = БизнесПроцессы.Т_КонтрольКонтракта.СоздатьБизнесПроцесс();
БизнесПроцесс.Дата = ТекущаяДата();
БизнесПроцесс.Предмет = Контракт.Ссылка;
БизнесПроцесс.Исполнитель = Исполнитель;
БизнесПроцесс.Автор = Пользователи.ТекущийПользователь();
КонецЦикла;
КонецПроцедуры
В событии вложенного БП "" создаем столько БП сколько нам нужно, попутно заполняя их свойства. При этом ведущие задачи создадутся сами.
|
|
10
breakthrough
24.03.17
✎
13:56
|
(9) Событие называется "ПередСозданиемВложенныхБизнесПроцессов"
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой