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

Действия и задачи

Действие (activity) — работа, которую выполняет участник процесса. Действия бывают атомарными — это задачи (task) — и составными — подпроцессы, о которых рассказано на отдельной странице. На диаграмме действие — прямоугольник со скруглёнными углами, внутри — название в форме глагола: «Проверить заказ», «Согласовать договор».

Типы задач

Тип задачи показывает, кто и как её выполняет. Значок типа рисуется в левом верхнем углу.

ТипЭлемент XMLЗначение
АбстрактнаяtaskТип не уточнён — обычен для описательных моделей
ПользовательскаяuserTaskЧеловек выполняет работу в информационной системе (форма, список задач)
РучнаяmanualTaskРабота без участия системы: позвонить, упаковать посылку
СервиснаяserviceTaskАвтоматический вызов сервиса или приложения
СкриптоваяscriptTaskСкрипт, который выполняет сам движок процессов
Бизнес-правилоbusinessRuleTaskВычисление по правилам (например, по таблице решений DMN)
ОтправкаsendTaskОтправка сообщения другому участнику
ПолучениеreceiveTaskОжидание сообщения от другого участника
<bpmn:userTask id="Approve" name="Согласовать заявку" />
<bpmn:serviceTask id="Reserve" name="Зарезервировать товар" />
<bpmn:sendTask id="Notify" name="Отправить уведомление" messageRef="Msg_Notice" />
<bpmn:receiveTask id="WaitPayment" name="Дождаться оплаты" messageRef="Msg_Payment" />

Маркеры повторения

Маркер внизу по центру показывает, что действие выполняется несколько раз:

  • Цикл (круговая стрелка, standardLoopCharacteristics) — действие повторяется, пока выполняется условие.
  • Параллельный многоэкземплярный (три вертикальные черты) — несколько экземпляров действия выполняются одновременно: например, запросить предложения у всех поставщиков из списка.
  • Последовательный многоэкземплярный (три горизонтальные черты) — экземпляры выполняются по очереди.
<bpmn:userTask id="Review" name="Проверить документ">
  <bpmn:standardLoopCharacteristics />
</bpmn:userTask>
<bpmn:sendTask id="RequestQuotes" name="Запросить предложение">
  <bpmn:multiInstanceLoopCharacteristics isSequential="false" />
</bpmn:sendTask>

Задача компенсации

Задача с маркером компенсации (перемотка назад, isForCompensation="true") не участвует в обычном ходе процесса. Она выполняется, только когда нужно «откатить» уже выполненную работу — например, отменить бронирование, если оплата не прошла. Такую задачу связывают ассоциацией с граничным событием компенсации (см. «События»).

Правила хорошего тона

  • Название — глагол в неопределённой форме и объект: «Выставить счёт», а не «Счёт» или «Выставление счёта».
  • Одна задача — одна работа одного исполнителя. Если внутри несколько шагов — это подпроцесс.
  • У задачи обычно один входящий и один исходящий поток управления. Ветвление и слияние показывают шлюзами, а не несколькими стрелками из задачи.

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