Шлюзы
Шлюзы — это элементы бизнес-процесса, которые позволяют исполнять процесс по одной или нескольким веткам подпроцесса, в зависимости от условий, заданных пользователем.
Шлюзы позволяют выполнять процессы более эффективно.

Шлюзы в BP:
  • параллельные;
  • исключающие;
  • неисключающие.
В одном бизнес-процессе зонами ответственности могут управлять разные типы шлюзов.
Шлюзы добавляются на полотно процесса также, как и этапы, — перетаскиванием с палитры действий.

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

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

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

Добавить параллельный шлюз можно так же, как и основной этап — перетащив его курсором с палитры действий в нужную зону ответственности на полотне процесса.
По клику мыши на шлюз пользователь попадает в модальное окно настроек, расположенное справа. Здесь можно:
  • задать название процесса и его описание;
  • сменить тип шлюза на исключающий или неисключающий;
  • настроить ветви шлюза;
  • определить ответственных. При настройке стоит обратить внимание, что BP позволяет разделять ответственных за весь шлюз и ответственных за отдельные ветви. Ответственный шлюза фактически является ответственным за исполнение всего шлюза, то есть на экране исполнения он будет принимать решение по досрочной смене этапа и также видеть активные ветви и их подэтапы;
  • вычислить длительность шлюза, которая определяется длительностью наиболее продолжительной его ветви, и настроить уведомления;
  • добавить переменные;
  • распределить шлюз в секцию.
При переходе во вкладку «Элемент процесса» шлюзу задаётся условие выполнения: ожидать первую ветвь или все ветви. Это означает, что дальнейшие действия в экземпляре бизнес-процесса можно будет выполнить либо после того, как завершится одна из ветвей, либо после того, как будут завершены все.
Ветви шлюза настраиваются во вкладке «Ветви шлюза». При переходе по оранжевой кнопке «Настроить» пользователь попадает в отдельное окно, где можно задать условия работы каждой ветви.
Здесь можно дать названия ветвям. Для этого нужно навести курсор на карточку с названием ветви и нажать на символ карандаша, после чего появится новое окно настройки.
По трём точкам в правом верхнем углу карточки ветви можно задать её название и сохранить его, нажав на оранжевую кнопку в правом нижнем углу экрана.
Здесь же, нажав на оранжевый плюс, можно добавить новую ветвь шлюза и задать ей название. Ограничений по количеству ветвей BP не устанавливает.
При создании новой ветви в верхней части окна появится зелёное уведомление о том, что она успешно добавлена.
После того, как заданы количество ветвей и их названия, по крестику слева можно перейти в тело шлюза для завершения настроек.
Задать количество, названия и условия выполнения этапов ветви можно по символу карандаша в поле этапов.
Настройки этапов откроются в отдельном окне, где пользователю таже будет доступно полотно процесса, но в усечённом формате: не будет зон ответственности и возможности добавить шлюзы. Этапы внутри ветвей могут быть только основными. Для того, чтобы изменить настройки этапов ветви, нужно нажать оранжевую кнопку «Редактировать полотно» в верхней части экрана.

Количество этапов в ветви не ограничено, но на практике их редко бывает много.

Окно настроек шлюза не отличается от окна настроек этапа в основном полотне процесса. Здесь можно задать те же данные.
Как и в основном полотне процесса, в шлюзе для каждого этапа можно назначить разных ответственных.
Для того, чтобы вернуться из режима настройки ветвей, нужно перейти по кнопке «Назад к шлюзу».
Параллельный шлюз на экране исполнения

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

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

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

Исключающий шлюз может иметь один или несколько выходов.
Настройка исключающего шлюза

Исключающий шлюз настраивается в правом модальном окне. Чтобы его вызвать, надо выбрать курсором символ шлюза на полотне процесса.
Здесь можно:
  • задать название шлюза и его описание;
  • сменить тип шлюза на параллельный или неисключающий;
  • определить условие запуска шлюза — ручное или на переменную;
  • настроить ветви шлюза;
  • выбрать ответственных;
  • вычислить длительность шлюза, которая определяется длительностью наиболее продолжительной его ветви, и настроить уведомления;
  • указать переменные;
  • распределить шлюз в секцию.
Пока ветви не будут настроены, сам шлюз на полотне процесса будет подсвечен оранжевым, а в модальном окне справа информация об этом будет выделена красным цветом.
Настройка ветвей шлюза

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

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

При настройке ветвей шлюза «на переменную» саму переменную пользователь должен задать во вкладке «Настройка переменных» или в разделе «Переменная» в правом модальном окне с настройками этапа.

Новую переменную можно задать, нажав на оранжевый плюс справа.
После чего появится выпадающее меню «Добавить новую переменную».
В появившемся справа модальном окне можно задать название переменной, и её тип: строка, число, список, флаг, ссылка, дата, файл.
В поле «Переменные» в выпадающем списке появятся настроенные для этого этапа переменные, из которых можно выбрать подходящую.

В поле «Операнд 1» пользователь задаёт переменную из списка настроенных для данного бизнес-процесса.

В поле «Действие» из выпадающего списка можно выбрать условие сравнения с полем «Операнд 2».

Значение в поле «Операнд 2» можно выбрать из выпадающего списка, или задать вручную, нажав на переключатель «Ввести значение» в правом верхнем углу строки.
Выходов из исключающего шлюза может быть столько же, сколько у него ветвей.
Либо шлюз может заканчиваться одним выходом. В таком случае остальные выходы, даже если они будут настроены по остальным параметрам, будут просто игнорироваться.
Настройка работы шлюза на переключение в ручном режиме

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

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

На экране исполнения шлюз запустится по сценарию той ветви, который будет соответствовать заданному условию. Например, договоры стоимостью до 1 млн руб. по условиям работы шлюза согласует коммерческий директор (ветвь 1), а договоры стоимостью более 1 млн руб. — генеральный вместе с контрагентом (ветвь 2). Если при запуске шлюза «На переменную» ответственный за этап введёт сумму договора 990 000 руб., то автоматически сработает ветвь 1.