Создание N-задач с ожиданием результата от всех

БП продажи
Задача: Создать N-счетов, для каждого созданного счета создать задачу, переводить продажу в состояние "Завершена" только после завершения всех задач, если хотя бы одна задача с отрицательным результатом - отменять продажу.

Решил обернуть это все в подпроцесс, которому на вход передаю количество счетов(вводится пользователем), а результат будет храниться в параметре подпроцесса. В элементе "script" создаю нужное кол-во сущностей. Вопрос - как теперь заставить БП ожидать все созданные задачи?

Нравится

4 комментария

Вам нужен элемент "Слияние" (треугольник) в редакторе БП.

Я бы точно мог его использовать, если бы количество задач было заранее известной константой. я бы нарисовал, допустим, 10 задач и направил бы это в слияние - отлично. Но я не знаю сколько будет задач, так как это указывает пользователь для каждого договора в процессе выполнения БП

Добрый день!

Занимался когда-то похожей задачей.
нашел сервисы процесса (во вложении).
Суть в том, чтобы проверять количество завершенных и не завершенных подпроцессов.
services.rar
сервисы для версии 3.3.1.148 (MSSQL)

Спасибо за ответы, уже натолкнули коллеги на решение - В элементе "Скрипт" создать в цикле все задачи и перейти в следующий элемент "Скрипт", где запросом проверять статус задач и по результатам выставлять текущему WorkflowItem(наш элемент "Скрипт") параметр IsCompleted в true или false. Запускать этот элемент каждый раз когда изменяем задачу данного БП.

Показать все комментарии