Задача [BPM27]: Прерывание параллельных этапов маршрута по завершении одного из них

Формулировка проблемы: на данный момент, если в маршруте имеется этап с несколькими подэтапами, для перехода к следующему этапу необходимо, чтобы все параллельные подэтапы завершились. Однако, часто возникает ситуация, что для продолжения маршрута достаточно, что завершился хотя бы один из параллельных подэтапов (пример - параллельное согласование заявки с несколькими сотрудниками одного ранга: достаточно, чтобы хотя бы один одобрил прохождение).

Решение: необходимо реализовать опцию этапа маршрута «Прервать выполнение параллельных этапов после завершения одного из них». Так как на данный момент в редакторе маршрутов нельзя выделить параллельный этап (с несколькими подэтапами) целиком (и как-либо настроить его как атомарный объект), то необходимо добавить новую опцию в настройки каждого процесса после поля «Код»:

Рисунок 114. Опция завершения параллельных этапов

Опция завершения параллельных этапов

Рисунок 115. Опция завершения параллельных этапов (режим просмотра)

Опция завершения параллельных этапов (режим просмотра)

Эта опция действует для всех подэтапов маршрута, которые параллельны друг другу - таким образом, если её включить в одном параллельном подэтапе, то она включится и в остальных. Для одиночных (не содержащих параллельные) этапов настройка отображается и её можно включить, но это не окажет на них никакого влияния.

Для этапа, в котором включена опция «Прервать выполнение параллельных этапов после завершения одного из них», определяется такое поведение:

Примечание:

В системе имеются процессы, которые завершаются практически сразу после запуска - например, отправка документа, специальные процессы и т.п. Таким образом, если подобные процессы будут входить в какой-либо этап параллельно с другими, и опция «Прервать выполнение параллельных этапов после завершения одного из них» будет активна, то остальные подэтапы не проживут долго и будут практически сразу завершены. Описанная ситуация - ошибка конфигурирования Synergy, и не является ошибкой платформы.