Конструктор правил

Конструктор правил задаёт реакцию процесса на события без написания отдельного обработчика. Он находится в карточке типа процесса на вкладке Правила.

rule editor
Рисунок 1. Редактор правила

Каждое правило состоит из трёх блоков:

  • Когда — одно или несколько событий. Правило запускается при наступлении любого из них.

  • Если — необязательное дерево условий.

  • Выполнить — действия, которые выполняются сверху вниз.

Текстовые поля блоков поддерживают контекстные переменные.

Создание правила

  1. Откройте Администрирование → Процессы → Типы процессов.

  2. Откройте нужный тип процесса и перейдите на вкладку Правила.

  3. Нажмите Добавить и укажите название правила.

  4. Добавьте хотя бы одно событие в блоке Когда.

  5. При необходимости добавьте условия в блоке Если.

  6. Добавьте хотя бы одно действие в блоке Выполнить. Перетаскиванием карточек задайте порядок действий.

  7. Укажите комментарий к изменению и нажмите Сохранить.

Если блок Если пуст, действия выполняются без дополнительной проверки.

Выполнение правила

Для событий с формулировкой «изменяется», «добавляется» или «удаляется» правило выполняется до сохранения изменения. Такое правило может проверить новое значение из события и остановить операцию действием Вывести ошибку. События с формулировкой «изменился», «добавлено» или «удалено» возникают после изменения.

Действия одного правила выполняются последовательно сверху вниз. Следующее действие видит результат предыдущего. Ошибка останавливает оставшиеся действия правила.

Управление правилами

В списке правил можно добавить правило, отфильтровать список, показать только активные правила, включить или отключить правило, обновить данные, открыть историю изменений, отредактировать или удалить правило. Для изменения и удаления указывается комментарий.

rule list
Рисунок 2. Список правил типа процесса

История хранит предыдущие версии правил. Из истории можно открыть сохранённое состояние и попытаться восстановить его. Восстановление старой версии может быть невозможно, если состав блоков конструктора изменился.

Количество записей истории для типа процесса ограничивается параметром:

processAutomationsHistorySize=<число записей; 0 — отключить журналирование>