Документация / BPMN

Потоки и связи

Соединяющие объекты показывают, в каком порядке выполняются элементы процесса и как участники обмениваются информацией.

Поток управления

Поток управления (sequence flow) — сплошная стрелка между событиями, действиями и шлюзами одного процесса. Он задаёт порядок выполнения: элемент начинает работу, когда по входящему потоку пришёл маркер (token) — условная «фишка», которая движется по диаграмме.

<bpmn:sequenceFlow id="Flow_1" sourceRef="Check" targetRef="InStock" />

Особые виды потоков управления:

  • Условный поток (с ромбиком в начале стрелки, если выходит из задачи) — маркер проходит по нему, только если выполняется условие. Условие записывается в conditionExpression.
  • Поток по умолчанию (с косой чертой в начале) — выбирается, когда не выполнилось ни одно другое условие. Задаётся атрибутом default у шлюза или задачи.
<bpmn:exclusiveGateway id="Amount" name="Сумма заказа" default="Flow_Small" />
<bpmn:sequenceFlow id="Flow_Big" name="Больше 100 000 ₽" sourceRef="Amount" targetRef="Approve">
  <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">amount &gt; 100000</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_Small" sourceRef="Amount" targetRef="Pay" />

Поток сообщений

Поток сообщений (message flow) — пунктирная стрелка с кружком в начале и пустым треугольником в конце. Он соединяет разных участников (пулы) и показывает, что один отправляет сообщение другому: письмо, звонок, вызов API, документ. Внутри одного пула потоки сообщений не используются — там только потоки управления.

<bpmn:messageFlow id="Msg_Invoice" name="Счёт" sourceRef="SendInvoice" targetRef="Customer" />

Ассоциация

Ассоциация (association) — точечная линия. Она связывает текстовую аннотацию с элементом, а также задачу компенсации с событием компенсации. Для связи с данными используются ассоциации данных (стрелки из точек): входная показывает, что задача читает данные, выходная — что задача их создаёт или изменяет.

<bpmn:textAnnotation id="Note_1">
  <bpmn:text>Срок — один рабочий день</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Assoc_1" sourceRef="Approve" targetRef="Note_1" />

Правила соединения

Откуда \ кудаСобытие, действие, шлюз того же пулаЭлемент другого пулаАннотация, данные
Событие, действие, шлюзПоток управленияПоток сообщений (не из шлюза)Ассоциация
Пул целиком («чёрный ящик»)—Поток сообщенийАссоциация

Ещё несколько правил:

  • Поток управления не пересекает границу пула и не выходит из подпроцесса наружу.
  • У начального события нет входящих потоков управления, у конечного — исходящих.
  • Промежуточное событие в потоке имеет ровно один вход и один выход.

Обновлено: 30 сентября 2026 г.