Назначение

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

Сведения о типе действия

ПараметрЗначение
Название в порталеСоздать этап процесса
Также встречается какЭтап процесса
Activity в Elsa (обработчик)— (встраиваются activity шаблона этапа) (WorkflowStageActivity)
ID типа элемента действия41b23e3a-9385-45b5-883f-353bfdd7043d
Проверка условий правилаНет — условия правила для этого действия не проверяются
Поддержка «Исходный элемент(ы) (формула)»Нет

Атрибуты действия

АтрибутОбязательныйОписаниеПример
НазваниеДаТекст. Название действия.Этап процесса (Согласующие)
ИсполнителиДаФормула, возвращающая пользователя или список пользователей; на каждого создаётся задача. Вычисляется в контексте процесса при сборке цепочки.This("Согласующие")
Шаблон этапа процессаДаВыбор из списка «Шаблоны этапа процесса». Определяет definition Elsa (по внутреннему имени), activity которого встраиваются в цепочку: параллельное или последовательное создание задач и т.п.Параллельный этап процесса
Тип элементаНетТип создаваемой задачи. По умолчанию — «Задача на согласование».Задача на согласование
Подписание ЭЦПНетТребовать ли подписание ЭЦП вложений для закрытия задачи с решением «Согласовано». Значение копируется в задачу.Нет
Пакетный режим согласованияНетЕдиное решение для всех вложений задачи. Значение копируется в задачу.Нет

Как работает

Схема этапа
Действие «Создать этап процесса» (встраивается шаблон этапа, например «Параллельный этап процесса»)
  ├─ Добавить узел маршрута (этап = «Этап процесса» или «Статус процесса»)
  ├─ ForEach исполнитель из «Исполнители»
  │     └─ Создать задачу → связи с вложениями процесса → права
  ├─ Ожидание: все задачи этапа в статусе «Завершена»   (экземпляр Elsa приостановлен)
  │     ← сигнал портала при завершении каждой задачи
  └─ Расчёт статуса согласования этапа → следующее действие цепочки
  1. Создаётся (или находится существующий) узел маршрута текущего этапа. Этап определяется атрибутом процесса «Этап процесса», а если он не заполнен — «Статус процесса». Узлу присваивается начальный статус согласования.
  2. На каждого исполнителя создаётся задача указанного типа в списке «Задачи» (для подпроцесса — внутри родительской задачи). В задачу копируются: процесс, инициатор, исполнитель, статус процесса, «Подписание ЭЦП», «Пакетный режим». Если название задачи не вычислено настройками типа задачи, оно формируется как «<Название процесса> - <Этап (статус) процесса>».
  3. Для каждого вложения процесса создаётся связь «вложение задачи на согласование» (задача → файл) с начальным статусом согласования — в ней исполнитель фиксирует решение по файлу.
  4. Назначаются права: исполнитель — «Изменить» на задачу и «Просмотр» на процесс; инициатор — «Просмотр» на задачу. Для подпроцессов исполнителю выдаётся «Просмотр» на родительские задачи и процессы.
  5. Цепочка приостанавливается до завершения всех задач этапа. Каждая завершённая задача переводится в режим «только чтение».
  6. Когда все задачи завершены, узлу маршрута этапа присваивается статус согласования: общий для всех задач, либо «частично согласовано», если решения по задачам различаются. Выполнение цепочки продолжается.

Условия не проверяются

Условия правила для этого действия не проверяются. Если этап нужно пропускать (например, не указаны согласующие), делайте это переходом статуса: в предыдущем статусе настройте два правила перехода с взаимоисключающими условиями (есть исполнители → статус этапа; нет исполнителей → следующий статус).

Один этап на событие

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

Особенности

  • Если формула «Исполнители» вернула пустое значение, задачи не создаются.
  • Действия, размещённые в том же столбце после «Создать этап процесса», выполняются только после завершения всех задач этапа.
  • При прерывании процесса незавершённые задачи текущего этапа удаляются; при завершении процесса ожидающий экземпляр Elsa отменяется.
  • Шаблоны этапов (definition Elsa) редактируются в Elsa Dashboard приложения Workflow.Manager. Шаблон должен содержать цикл ForEach; см. Архитектура сервиса Автоматизации .

См. также

  • No labels