Назначение

Присваивает значение указанному атрибуту элемента: по умолчанию — элемента, на котором сработал триггер; при заполненном поле «Исходный элемент(ы) (формула)» — каждого элемента из результата формулы. Самое востребованное действие: смена статусов, заполнение дат, вычисление служебных атрибутов, переход процесса на следующий этап.

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

ПараметрЗначение
Название в порталеУстановить значение атрибута
Также встречается какУстановить значения атрибута; Установить значение поля
Activity в Elsa (обработчик)Установить значение поля (SetItemFieldActivity)
ID типа элемента действия5e016e29-262e-467b-9d27-ac05dcf0c292
Проверка условий правилаДа
Поддержка «Исходный элемент(ы) (формула)»Да

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

АтрибутОбязательныйОписаниеПример
НазваниеДаТекст. Название действия.Установить статус процесса
АтрибутДаАтрибут, которому присваивается значение. Выбор из всех атрибутов системы, допустимо одно значение. Атрибут должен входить в тип целевого элемента.Статус процесса
ФормулаДаЗначение или формула для его расчёта. Результат должен соответствовать типу атрибута (для подстановок — Lookup(...), для дат — Date() и т.п.). Вычисляется в контексте целевого (исходного) элемента.Lookup('Статус процесса.Согласующие')
Исходный элемент(ы) (формула)НетФормула, возвращающая элемент(ы), которым нужно присвоить значение, вместо элемента-триггера.Refs('Вложение процесса')

Как работает

  1. Проверяются условия правила (в контексте элемента-триггера).
  2. Определяется список целевых элементов (исходные элементы или элемент-триггер).
  3. Для каждого целевого элемента: если его тип содержит указанный атрибут — вычисляется формула в контексте этого элемента, значение записывается, элемент сохраняется. Если атрибута нет — элемент пропускается без ошибки.

Исходный элемент(ы)

Если в карточке действия есть поле «Исходный элемент(ы) (формула)» и оно заполнено, действие выполняется не над элементом, на котором сработал триггер, а над каждым элементом, который вернула формула (элемент, значение подстановки, GUID или список). Формулы самого действия в этом случае вычисляются в контексте исходного элемента (функция This() ссылается на него), а условия правила — по-прежнему в контексте элемента-триггера. Подробнее: Общие поля и правила выполнения действий.

Примеры

ЗадачаАтрибутФормулаКомментарий
Перевести процесс на этап «Согласующие»Статус процессаLookup("Статус процесса.Согласующие")Вызовет правила столбца «Согласующие» Канбан-доски.
Зафиксировать дату началаДата начала (Факт)Date()
Рассчитать плановую дату окончанияДата окончания (План)AddDay(Date(), This("Трудозатраты этап 1"))
Завершить процессСтатус процессаLookup("Статус процесса.Завершен")Процесс станет доступен только для чтения, ожидающий экземпляр Elsa будет отменён.

Особенности

  • Изменение атрибута — новое событие: могут сработать другие правила. Не назначайте действие, меняющее атрибут-триггер этого же правила.
  • Действие, переводящее процесс в следующий статус, размещайте последним среди действий текущего статуса.
  • Для изменения атрибутов вложений процесса можно использовать как это действие с полем «Исходный элемент(ы)», так и «Установить значение атрибута связанных объектов». Отличие — в контексте формулы: здесь формула вычисляется для каждого вложения, там — один раз для процесса.

См. также

  • No labels