Условный оператор в БП

Добрый день!

Нужна небольшая помощь с построением БП управления инцидентами.
Задача выглядит так. На каком-то участке процесс разветвляется и задание по решению инцидента может уйти в одну из двух ролей. Затем идут другие шаги, формируется оценка, и если итоговый результат неудовлетворителен, то процесс должен пойти по одной из двух ветвей, в зависимости от того, какая роль участвовала в решении инцидента несколькими шагами ранее. Каким образом можно организовать такое ветвление?

Заранее спасибо.

Нравится

6 комментариев

Используйте условный поток вместо потока управления.
Добавьте в параметры ту переменную, которую хотите использовать (не забудь потом убрать ее объявление из скриптов, т.к. теперь она будет объявлена глобально).
В вашем случаи (если 1 из 2) можно добавить в параметры логическую переменную Flag. И где-то в скрипте присвоить ей значение в зависимости от нужных вам условий. А потом сделать 2 условных потока, один с Flag == true, другой Flag == false.

Александр, спасибо! А как прописать условия для условных потоков? В поле окна свойств "Условие"??

Да, все вот так вот просто

Доброго времени суток.
Александр прав, но еще правильнее, если Вы добавите в поток перед ветвлением "Исключающее ИЛИ".
Из него исходит один условный поток с Вашим условием, а второй - Поток по умолчанию. При таком подходе Вы избавитесь от программных ошибок, когда у Вас процесс не пойдет ни по одной из ветвей. Такого быть не должно, если Вы правильно установите условие, но все же :smile: Как программист Вам скажу иногда такие глюки бывают и береженного Бог бережет.

Андрей, спасибо за дополнение, как раз думал об этом:)

"Сазанов Александр Владимирович" написал:

Да, все вот так вот просто

В данном случае в "Условии" можно просто указать имя переменной. Движок процессов пытается интерпретировать содержимое поля "Условие" как C#-выражение в конструкции if.

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