Суть задачи
Нужно выбрать один из двух взаимоисключающих путей в зависимости от суммы заявки: либо подпись финдиректора, либо подпись руководителя отдела. Два пути никогда не выполняются одновременно.
Что такое XOR-шлюз
Исключающий шлюз (XOR) имеет один вход и несколько выходов (или наоборот, несколько входов и один выход при слиянии). При ветвлении он активирует ровно один путь, проверяя условия-охранники (например,
[сумма > 1 млн] и [сумма <= 1 млн]). При слиянии он пропускает поток дальше, когда завершится любой из входящих путей (но в данном случае слияние не требуется).Как моделировать
Шаг 1: после создания заявки — XOR-шлюз с двумя исходящими потоками:
Условие 1: сумма > 1 млн → задача «Подпись финдиректора».
Условие 2: сумма ≤ 1 млн → задача «Подпись руководителя отдела».
Затем оба потока сходятся в общую точку (например, в задачу «Передать в бухгалтерию»).
Почему не другие шлюзы
AND — запустил бы оба пути одновременно (подпись и финдиректора, и руководителя) и потребовал бы завершения обоих, что неверно.
OR — мог бы активировать один или оба пути, тоже не подходит.
Событие-таймер — ждёт наступления времени, не имеет отношения к условиям.
Реальный пример
В ERP-системе закупки до определённой суммы утверждает начальник отдела, выше — финансовый контролёр. XOR-шлюз идеально отображает это правило.
Вывод
XOR применяется для ветвления «или-или» на основе бизнес-данных. Аналитик должен правильно выбрать тип шлюза в зависимости от логики.