Имя: Пароль:
1C
1С v8
Несколько задач в одной точке маршрута Бизнес-процесса в УТ 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) Событие  называется "ПередСозданиемВложенныхБизнесПроцессов"
Основная теорема систематики: Новые системы плодят новые проблемы.