Если у меня есть процесс, похожий на этот, где есть пользовательская задача «Утвердить» и параллельная пользовательская задача «Проверить» с несколькими экземплярами. Бизнес-правило заключается в том, что всякий раз, когда утверждающий утверждает, даже если есть больше рецензентов, доступных для проверки (мульти)задачи, он должен отменить все оставшиеся экземпляры задачи. (Ex: <completionCondition>${approved == true}</completionCondition>)
. Как мне реализовать этот сценарий? Спасибо.
Как отменить многоэкземплярную задачу с производным условием завершения
Ответы (2)
Вы можете добавить событие границы сигнала в пользовательскую задачу «Просмотр нескольких экземпляров». После утверждения пользовательской задачи вы можете добавить промежуточное событие запуска сигнала, которое запускает событие границы сигнала. Таким образом, многоэкземплярная пользовательская задача «Проверить» будет завершена после завершения пользовательской задачи «Утвердить».
Одно слово предупреждения при использовании сигнального подхода (который, по моему мнению, является правильным ответом). Но обратите внимание, что на изображении ниже я разделяю поток параллельным шлюзом. Если я просто использую параллельное соединение, экземпляр процесса никогда не завершится, потому что параллельное соединение никогда не получит все ожидаемые токены. Вы должны использовать инклюзивное соединение (как показано ниже), которое будет пересчитывать количество ожидаемых токенов и разрешать переход к задаче «Готово».