Действия задачи — UniBPM
  • Ru

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

Назначение

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

Примеры использования:

  • Создание подзадачи
  • Передача задачи на другой уровень
  • Уведомление руководителя
  • Запуск дополнительного процесса согласования
  • Изменение маршрута процесса

С технической точки зрения действия реализуются через BPMN-события эскалации (Escalation), связанные с задачей.

Как это работает

Для пользовательской задачи в BPMN-модели могут быть настроены дополнительные действия.

При выборе действия:

  1. Пользователь запускает действие
  2. Система отправляет BPMN Escalation
  3. Процесс продолжает выполнение по альтернативной логике

В зависимости от модели процесса действие может:

  • Перевести процесс в другую ветку
  • Запустить дополнительную параллельную ветку
  • Создать подзадачу
  • Запустить согласование

Как пользователь видит действия

Если для задачи настроены дополнительные действия:

  1. На странице задачи появляется список доступных действий
  2. Пользователь выбирает нужное действие
  3. Система выполняет соответствующую эскалацию

Действия настраиваются в BPMN-модели процесса.

Варианты реализации в BPMN

В UniBPM поддерживаются два варианта реализации:

  • Boundary Escalation Event
  • Escalation Start Event в Event Subprocess

Boundary Escalation Event

Наиболее распространенный вариант. Событие прикрепляется к пользовательской задаче.

Пример логики:

User Task → Boundary Escalation → Дополнительная ветка процесса

Пример BPMN:

<bpmn:userTask id="Activity_executeWorkorder" name="Выполнить работу"/>

<bpmn:boundaryEvent id="Event_subtask" attachedToRef="Activity_executeWorkorder" name="Создать подзадачу">
  <bpmn:escalationEventDefinition escalationRef="Escalation_subtask"/>
</bpmn:boundaryEvent>

<bpmn:escalation id="Escalation_subtask" escalationCode="subtask"/>

Escalation Event через Subprocess

Используется для более сложной логики обработки.

<bpmn:subProcess id="EscalationHandler" triggeredByEvent="true">

  <bpmn:startEvent id="StartEscalation">
    <bpmn:escalationEventDefinition escalationRef="Escalation_subtask"/>
  </bpmn:startEvent>

</bpmn:subProcess>

Как формируется список действий

Система анализирует BPMN-контекст задачи и определяет доступные действия.

Отображаются только те действия, которые:

  • доступны в текущем состоянии процесса
  • связаны с задачей
  • корректно настроены в BPMN

Наименование действия берется из имени BPMN-события.

Важно

Каждое действие должно иметь escalationCode

<bpmn:escalation id="Escalation_subtask" escalationCode="subtask"/>

Права доступа

  • Действие доступно только при наличии доступа к задаче
  • Если задача назначена — действие может выполнить только назначенный пользователь

Особенности выполнения

  • Действие не обязательно завершает задачу
  • Может быть прерывающим или непрерывающим
  • Поведение определяется BPMN-моделью

Рекомендации по моделированию

Используйте понятные названия

Хорошо:

  • Создать подзадачу
  • Передать руководителю
  • Запросить согласование

Плохо:

  • Escalation_1
  • Event2

Используйте уникальные escalationCode

Не перегружайте задачу действиями

Рекомендуется 1–3 действия на задачу

Ограничения

Действия доступны только если:

  • Задача активна
  • Есть доступ к задаче
  • В BPMN настроены escalation events

Типичные ошибки

Действия не отображаются

  • Нет escalationCode
  • Событие не связано с задачей
  • Процесс не задеплоен

Ошибка выполнения

  • Ошибка в BPMN
  • Неверная конфигурация процесса

Проверка перед публикацией

  • Есть escalationCode
  • Понятные названия
  • Нет дублей
  • События привязаны к задаче

Итог

Действия задачи — это дополнительные бизнес-операции, реализованные через BPMN Escalation, позволяющие гибко управлять процессом без изменения основной логики задачи.