Дизайнер бизнес-процессов > Графические процессы (BPMN) > Графические элементы / Шлюзы

Шлюзы

Шлюзы представляют собой точки принятия решения в процессе. Они используются для того, чтобы направить процесс по той или иной ветке, в зависимости от определенных условий.

Например, если сумма счета большая, то его согласует не только непосредственный начальник сотрудника, оформившего счет, но и генеральный директор. Если же сумма незначительная, то заявителю сразу выдадут деньги.

1.png

Исключающий шлюз

2.pngИсключающий шлюз направляет процесс только по одному исходящему переходу. Это работает следующим образом. Сначала вы задаете условия для исходящих переходов. Подробно о том, как это сделать, мы писали здесь.

 

   

Как только процесс достигнет шлюза, система проверит заданные условия и выберет тот переход, для которого условие выполнилось. Порядок проверки задается в настройках шлюза, на вкладке Переходы.

начало внимание

Для исключающего ИЛИ-шлюза обязательно должен быть указан переход по умолчанию.

конец внимание

Например, в процессе продаж продавец может предложить клиенту дополнительные услуги. В зависимости от решения покупателя, процесс либо завершится, либо продавцу будет назначена задача оформить договор.

4.png

Неисключающий шлюз

3.pngНеисключающий шлюз направляет процесс по одному или нескольким исходящим переходам, для которых выполняется условие.

   

   

Например, после того как оператор примет заказ, процесс может развиваться следующим образом:

  • если сумма заказа >10 000 рублей, оператор добавит к заказу подарок А;
  • если клиент оплачивает товар при покупке, то ему предложат подарок Б;
  • если выполнятся оба условия, перечисленные выше, покупатель получит два подарка;
  • если не выполнится ни одно условие, Перетащите блок Сценарий на схему и разместите его там, где необходимо. Система пропустит операции со шлюзами и сразу назначит задачу доставить товар.

начало внимание

Все ветви процесса, исходящие из неисключающего шлюза, должны замыкаться на такой же шлюз.

конец внимание

6.png

Параллельный шлюз

Screen_Shot_09-18-18_at_02.53_PM.PNGПараллельный шлюз направляет процесс по всем исходящим переходам. Этот шлюз сильно отличается от описанных выше, так как он не проверяет условия переходов. Параллельный шлюз используется для того, чтобы разделить процесс на несколько потоков, которые будут исполняться одновременно.

Например, после того как новый сотрудник будет принят, офис-менеджер должен будет подготовить рабочее место, системный администратор — создать аккаунт в корпоративной системе, а hr-специалист — подготовить приветственный пакет для новичка. Все эти задачи можно выполнять одновременно, поэтому для описания хода процесса целесообразно выбирать параллельный шлюз.

начало внимание

Все ветви процесса, исходящие из параллельного шлюза, должны замыкаться на такой же шлюз.

конец внимание

5.png

Настройка шлюзов

Вы можете редактировать названия шлюзов, добавлять описание, изменять тип, а также настраивать порядок проверки условий переходов. Чтобы открыть окно с настройками, нажмите на шлюз на схеме процесса.

Вкладка «Основное»

Шлюзы_08

  • Название — в этом поле можно указать имя шлюза, которое будет отображаться на схеме процесса;
  • Описание — здесь вы можете описать, как именно работает шлюз;
  • Тип шлюза — выпадающий список, позволяющий изменить тип шлюза.

Вкладка «Служебная переменная»

Вкладка Служебная переменная доступна только для исключающих и неисключающих шлюзов. Используя служебную переменную, можно определить, по какому переходу будет развиваться процесс. Значение служебной переменной рассчитывается при помощи сценария.

Шлюзы_09

Например, для бизнес-процесса согласования счета можно создать служебную переменную Сумма с НДС. Если значение служебной переменной выше или равно 100 000 рублей, процесс должен пойти по переходу Требуется согласование. В остальных случаях процесс пойдет по переходу Оплатить.

Чтобы настроить шлюз, как описано в примере, выберите опцию В условиях перехода использовать служебную переменную.

Затем укажите тип переменной. В данном случае это Число, так как переменная содержит сумму заказа с НДС.

Добавьте сценарий, который будет рассчитывать значение переменной. Для этого нажмите на кнопку Создать или выберите существующий сценарий из списка. Укажите название, повторно нажмите на кнопку Создать, а затем — на Открыть. Вы будете перенаправлены на вкладку Сценарии, где можете создать свой сценарий, используя язык TypeScript.

начало внимание

Более подробно про написание сценариев вы можете прочитать справке по TS SDK.

конец внимание

Сохраните и проверьте сценарий. Если при проверке будут обнаружены ошибки, редактор подчеркнет их. Сценарий с ошибками опубликовать нельзя.

После публикации ELMA365 сможет выполнить сценарий и автоматически рассчитает размер суммы с НДС, когда процесс дойдет до шлюза.

В нашем примере если сумма счета менее 100 000 рублей, процесс должен двигаться по переходу Оплатить. Во всех остальных случаях процесс должен развиваться по переходу Требуется согласование.

Чтобы реализовать эту логику, необходимо определить условия перехода. Для этого в окне настроек шлюза откройте вкладку Переходы.

Шлюзы_10

Укажите, что Оплатить является переходом по умолчанию. Затем нажмите на переход Требуется согласование, чтобы задать условие, при котором процесс пойдет по данной ветке.

В открывшемся окне перейдите на вкладку Условия перехода и нажмите кнопку + Условие.

Шлюзы_11

  • Операнд 1 выберите Служебную переменную шлюза;
  • Операция укажите оператор сравнения для проверки условия;
  • Операнд 2 — впишите нужное значение.

Сохраните настройки. Теперь, выполняя процесс, ELMA365, при достижении шлюза автоматически рассчитает значение переменной Сумма с НДС, используя сценарий. Если значение окажется больше или равно 100 000, процесс пойдет по переходу Требуется согласование.

Использование служебной переменной позволяет сделать карту процесса менее загруженной, потому что сценарий реализуется в шлюзе, а не добавляется на схему отдельным блоком.

Вкладка «Переходы»

Данная вкладка доступна только для исключающих шлюзов. Здесь вы можете задать порядок проверки условий и указать переход по умолчанию. Нажав на название перехода, вы перейдете к его настройкам.

Шлюзы_12