Бизнес-процесс может иметь несколько альтернативных или параллельных путей выполнения.
Пример
Создайте бизнес-процесс, который будет разветвляться в зависимости от результата звонка. В случае заинтересованности клиента выполняются оставшиеся шаги процесса. Если интерес отсутствует, процесс завершается. Также задача может быть выполнена с результатом “Позвонить позднее”, в результате чего звонок необходимо выполнить повторно.
Для ветвления бизнес-процесса используются:
-
Условные потоки, которые активируются при выполнении заданных для них условий.
-
Логические операторы, которые активируют один или несколько исходящих условных потоков в зависимости от типа оператора: “Исключающее ИЛИ”, “Включающее ИЛИ”, “Логическое И”.
-
Элементы процесса [Вопрос пользователю] и [Автогенерируемая страница], результат выполнения которых зависит от выбранных пользователем опций (варианты ответа, кнопки) на странице вопроса либо на сгенерированной странице. Выбранные опции могут быть использованы как условия перехода по условным потокам.
-
Элементы процесса [Выполнить задачу], [Открыть страницу редактирования], результат выполнения которых определяется значением в одном из полей. Значение в поле, которое определяет результат завершения элемента процесса, может быть использовано как условие перехода по условным потокам.
Как построить ветвление с использованием логических операторов
Для обработки результатов завершения задачи наиболее подходит логический оператор [Исключающее “ИЛИ”], поскольку может быть выбран только один результат задачи. В качестве альтернативы можно добавлять исходящие условные потоки для самого элемента [Позвонить клиенту], не используя при этом логический оператор.
Рассмотрим ветвление процесса в зависимости от результата выполнения элемента [Выполнить задачу] на примере бизнес-процесса проведения встречи (Рис. 53):
1.Поместите логический оператор [Исключающее “ИЛИ”] в схему процесса после действия [Позвонить клиенту] (Рис. 54).
На заметку
Логический оператор [Исключающее “Или”] используется если из всех альтернативных вариантов в ходе выполнения процесса может быть выбран только один.
На заметку
Если при ветвлении процесса обе ветви должны выполняться параллельно, используйте оператор [Логическое “И”]. Данный оператор используется только с потоками управления.
2.Соедините условный поток от логического оператора с действием “Провести встречу”.
3.На странице настройки условного потока выберите результат выполнения задачи “Есть интерес” (Рис. 55).
4.Аналогичным образом добавьте остальные условные потоки и выберите условия перехода. Добавьте поток к элементу встречи и выберите [Позвонить позднее], и второй исходящий условный поток к завершающему событию процесса, при этом выбрав опцию {интерес отсутствует} (Рис. 56).
5.Сохраните процесс.
В результате при выполнении процесса на странице активности “Позвонить клиенту” будет доступно три результата выполнения: [Есть интерес], [Интерес отсутствует] и [Перенесена] (Рис. 57).
Если выбрать результат “Есть интерес”, процессом будет создана задача “Провести встречу”. Если выбрать результат “Перенесена”, то процессом будет создана еще одна задача для осуществления звонка. Если результат — “Интерес отсутствует”, то процесс завершит свое выполнение.
На заметку
Для изменения условия перехода по условному потоку дважды щелкните по этому потоку и выберите новое условие в открывшемся окне.
Если от результата завершения активности зависит дальнейший ход процесса, то активность может быть выполнена только с теми результатами, которые предусмотрены в процессе.
На заметку
Если какая-либо ветвь процесса должна выполняться при выборе любого из оставшихся результатов, добавьте поток по умолчанию, который сработает при любом результате активности, не предусмотренном условными потоками.
Смотрите также