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