Правила автоматизации: пример 5
Напоминание о согласовании при его задержке согласующим
Рабочий процесс нельзя продолжить, если от согласующего лица нет согласования соответствующей задачи согласования. Если согласующий забывает о задаче, менеджер рабочего процесса может направить ему напоминание. В этом примере рассмотрено, как это сделать с помощью правила автоматизации, которое будет отправлять напоминание через 1 день (если статус задачи все еще остается ‘Назначено’).
В данном случае автоматизация состоит из двух правил. Первое правило отправляет напоминание согласующему, оно запускается триггером ‘После задержки’. Второе правило определяет, какой период считать задержкой. После задержки в 1 день запускается первое правило.
Ниже описаны основные элементы такого правила автоматизации.
Напоминание о согласовании
Триггер
Правило должно выполняться при задержке в 1 день, соответственно, в поле "Триггер" выбирается опция ‘После задержки’.
Выражения
Для правила задаются следующие выражения. В дальнейшем они используются для определения условия правила и выполняемых им действий:
1. is_assigned
Выражение is_assigned
определяет, что значение поля "Статус" задачи согласования - все еще
‘Назначена’ (если статус изменился на ‘Отклонено’ или ‘Согласовано’, то напоминание отправлять не
нужно). Выражение определяется следующим образом:
status = assigned
2. approver
Выражение approver
добавляется для поиска согласующего для задачи согласования. У
задачи согласования может быть несколько согласующих. Для каждого согласующего
определяется запись согласования, которая состоит из имени согласующего и
статуса согласования. Поскольку в рассматриваемой задаче согласования есть только один согласующий,
информация о нем должна быть получена из первой записи согласования, найденной в задаче
согласования. Выражение определяется следующим образом:
approvals[first].approver
3. request
Выражение request
используется для поиска первого запроса, связанного с рабочим
процессом, к которому принадлежит задача согласования. Этот запрос нужен для
получения названия продукта, указанного в запросе, и имени инициатора. Выражение определяется
следующим образом:
workflow.requests[first]
4. product
Выражение product
используется для получения названия продукта, для которого требуется
согласование. Его можно найти в запросе в значениях расширения UI.
В свою очередь, эти значения находятся в пользовательском поле запроса. Выражение определяется
следующим образом:
request.custom_fields.name
4. requester
Выражение requester
используется для поиска имени лица, для которого реализуется рабочий
процесс. Оно определяется следующим образом:
request.requested_for.name
Условие
После определения выражений необходимо задать условие, при котором выполняется правило автоматизации. В рассматриваемом примере статус задачи должен быть ‘Назначена’. Поскольку для этого уже есть выражение, истинное условие имеет следующий вид:
is_assigned
Это все, что нужно ввести в поле "Условие" для правила.
Обновить
Действие, выполняемое правилом, — это добавление в задачу согласования комментария, который сообщит согласующему, что задача все еще ожидает его/ее согласования. Поскольку правило автоматизации определено для текущей задачи согласования, поле "Обновить" не нужно заполнять. В этом случае значение по умолчанию присваивается текущей записи (т.е. задаче согласования).
Добавить комментарий
Требуемое действие - ‘Добавить комментарий’. При добавлении этого действия появляется текстовое поле, в которое вводится текст комментария. Переменные в комментарии (имя согласующего, имя инициатора и название продукта) уже определены в выражениях. Они добавляются в текст посредством двух фигурных скобок. Комментарий определяется следующим образом:
Уважаемый
{{approver
}},
{{requester
}}
ожидает вашего согласования для регистрации
{{product
}} в SAP.
Планирование напоминания о согласовании через 1 день
Триггер
Поскольку правило должно отправлять напоминание через 1 день после назначения согласующему задачи согласования, в поле "Триггер" выбирается вариант ‘При обновлении статуса’.
Выражения
Для правила задается следующее выражение. В дальнейшем оно используется для определения условия правила:
1. is_assigned
Выражение is_assigned
указывает, что поле "Статус" задачи согласования имеет значение
‘Назначена’. Оно определяется следующим образом:
status = assigned
Условие
После определения выражения правилу задается условие, при котором это правило выполняется. В рассматриваемом примере статус задачи должен быть ‘Назначена’. Поскольку для этого уже есть выражение, истинное условие имеет следующий вид:
is_assigned
Это все, что нужно ввести в поле "Условие" для правила.
Задержка выполнения
Действие, которое должно выполняться правилом, является отложенным, поэтому оно состоит из двух частей. Сначала в поле "После" указывается длительность задержки. Затем в поле "Начать" выбирается правило, которое выполняется после задержки.
После
Необходимо установить продолжительность задержки. Время можно задать в секундах, минутах, часах, днях, месяцах или годах. В рассматриваемом примере продолжительность задержки в 1 день определена следующим образом:
1.day
Это выражение также можно определить следующим образом:
24.hours
или
1440.minutes
или
86400.seconds
Если дата и/или время были получены посредством выражения, их можно использовать для
выполнения вычислений. Например, если желаемый срок завершения согласования был
определен в выражении completion_target
, то с помощью этого выражения можно
определить момент, который наступает за 1 час до срока завершения задачи:
completion_target - 1.hour
Это выражение можно указать в поле "После".
Начало
Выберите правило автоматизации, у которого в поле "Триггер" установлено значение ‘После задержки’. В рассматриваемом примере правило ‘Напоминание о согласовании’ выбрано следующим образом:
Напоминание о согласовании