Правила автоматизации: пример 1
Добавление комментария к запросу рабочего процесса
Чтобы инициатор мог получать информацию о ходе выполнения рабочего процесса, открытого для запроса, можно добавить правила автоматизации в задачи рабочего процесса. Например, правило автоматизации можно связать с задачей согласования, чтобы к запросу добавлялся комментарий, когда статус задачи согласования устанавливается на ‘Назначено’. Этот комментарий информирует инициатора о том, что запрашиваемый рабочий процесс ожидает согласования.
Ниже описаны основные элементы такого правила автоматизации.
Триггер
Правило должно выполняться после смены статуса задачи согласования на ‘Назначено’. Соответственно, в поле "Триггер" выбирается вариант ‘При обновлении статуса’.
Выражения
Для правила задаются следующие выражения. В дальнейшем они используются для определения условия правила и выполняемых им действий:
1. is_assigned
Выражение is_assigned
указывает, что поле "Статус" задачи согласования имеет значение
‘Назначено’. Оно определяется следующим образом:
status = assigned
2. approver
Выражение approver
добавляется для получения имени согласующего, которому назначена
задача. Оно определяется следующим образом:
approvals[first].approver
Это лицо, связанное с первой записью согласования, являющейся частью задачи согласования (т.е. первый согласующий). Пока оно является первым согласующим, это то же самое, что и:
member
Это первое лицо, связанное с задачей согласования как согласующее.
3. request
Посредством выражения request
осуществляется поиск первого запроса, связанного с рабочим
процессом, к которому относится задача согласования. Оно определяется следующим образом:
workflow.requests[first]
Также это выражение можно определять как:
workflow.requests[1]
Для поиска второго запроса, связанного с рабочим процессом, выражение имеет следующий вид:
workflow.requests[2]
Выражение для поиска последнего запроса имеет вид:
workflow.requests[Last]
или
workflow.requests[-1]
4. requester
Посредством выражения requester
осуществляется поиск имени лица, для которого реализуется рабочий
процесс. Оно определяется следующим образом:
workflow.requests[first].requested_for.name
Другой способ определения этого выражения - использование предыдущего выражения, которое уже определило первый запрос рабочего процесса:
request.requested_for.name
Условие
После определения выражений правилу задаются условия, при которых данное правило выполняется. В рассматриваемом примере статус задачи должен быть ‘Назначено’. Поскольку для этого уже есть выражение, истинное условие имеет следующий вид:
is_assigned
.
Это все, что нужно ввести в поле "Условие" для правила.
Обновление
Запись, которую необходимо обновить, - это первый запрос, связанный с рабочим процессом,
к которому относится задача согласования. Для этого уже есть выражение - request
, поэтому это выражение выбирается в поле "Обновить".
Добавить комментарий
Поскольку нам необходимо добавить комментарий к запросу (а не установить новое значение для одного из полей запроса), опцию по умолчанию ‘Задать’ необходимо изменить на ‘Добавить комментарий’, что создаст поле расширенного текстового формата (Rich Text), в котором можно определить комментарий к запросу. Выражения правила можно использовать в этом комментарии следующим образом:
Уважаемый
{{requester
}},
Ваш запрос ожидает согласования от
{{approver
}}