Автоматизация — инструмент настройки автоматических реакций системы на события без программирования. Администратор описывает правило: при каком событии, при каких условиях и какие действия система должна выполнить. Выполнение настроенных действий берёт на себя движок рабочих процессов (см. Архитектура сервиса Автоматизации ).
Автоматизация в сочетании с Валидаторами и Вычислениями позволяет автоматизировать:
| Понятие | Где хранится | Описание |
|---|---|---|
| Правило автоматизации (триггер) | Системный список «Автоматизация» (automation) | Описывает событие: для какого Типа элемента, при изменении какого Атрибута и (необязательно) при каком значении атрибута срабатывает правило. Также определяет тип действия, которые можно к нему привязать. |
| Условие | Список «Автоматизация (условия)» (automation_condition) | Формула, которая должна вернуть Истина, чтобы действия правила были выполнены. К правилу привязывается от 0 до n условий. |
| Действие | Список «Автоматизация (действия)» (automation_action) | Операция, которую выполняет система. К правилу привязывается от 1 до n действий, все одного типа. Каждому типу действия соответствует свой обработчик (activity) в движке рабочих процессов. |
| Цепочка | Движок рабочих процессов (Elsa) | Если на одно событие настроено несколько правил, их действия объединяются в одну последовательность — динамически компонуемый процесс Elsa. |
Триггер — событие в системе, на которое реагирует автоматизация. В текущей реализации событием является изменение значения атрибута элемента выбранного Типа элемента (при сохранении существующего элемента), а также создание элемента: при создании все заполненные атрибуты нового элемента считаются изменёнными.
Различают два вида правил:
| Вид правила | Как задаётся | Пример |
|---|---|---|
| По значению атрибута | Заполнены «Атрибут» и «Значение». Правило срабатывает, когда атрибут принял указанное значение. Этим способом настраиваются переходы жизненного цикла на Канбан-доске. | «Статус процесса» изменился на «Согласующие» — создать задачи этапа. |
| Одиночный (по факту изменения) | Заполнен только «Атрибут», «Значение» пустое. Правило срабатывает при любом изменении атрибута, независимо от нового значения. | Изменился системный атрибут «Файл» (загружена новая версия) — сбросить статус файла; атрибут «Тип», который устанавливается однократно при создании элемента. |
Большинство правил настраивается через Канбан-доску, где триггером служит смена значения атрибута, отражающего этапы жизненного цикла (Статус процесса, Статус задачи, Статус файла и т.п.). Правила с триггером по произвольному атрибуту или без учёта значения создаются напрямую в системном списке «Автоматизация» (Центр администрирования → Настройки → Списки → Автоматизация). Пример: Настройка сброса статуса файла при размещении новой версии . |
|| внутри одной формулы.Пример условия: «выполнять действия, только если процесс ещё не завершён» — This("Статус процесса.Название") != "Завершен".
При использовании в условиях функций работы со связями ( |
Все действия одного правила имеют один тип и выполняются последовательно в порядке значения поля «Порядок». Действия выполняются от имени системного пользователя, поэтому права текущего пользователя на выполнение не влияют, а в атрибуте «Изменено кем» (editor) у изменённых элементов оказывается системная учётная запись.
Доступные типы действий:
| Тип действия | Назначение |
|---|---|
| Установить значение атрибута | Присвоить значение атрибуту текущего (или вычисленного формулой) элемента. |
| Установить значение атрибута связанных объектов | Присвоить значение атрибуту элементов, связанных с текущим (вложений процесса или задачи). |
| Установить права доступа | Выдать пользователям/группам уровень доступа на элемент. |
| Забрать права доступа | Снять с пользователей/групп права доступа на элемент. |
| Создать этап процесса | Создать задачи этапа процесса и дождаться их завершения. |
| Обработка вложений по результатам согласования | Установить статус вложений по решениям, принятым в задачах этапа; при необходимости завершить процесс. |
| Переход на этап | Перевести процесс, работающий по шаблону этапов, на следующий или заданный этап. |
| Вызов внешнего сервиса | Отправить HTTP-запрос во внешний (или внутренний) веб-сервис. |
| Опубликовать документ | Опубликовать версию документа с комментарием. |
| Выполнить процедуру | Выполнить формулу-процедуру (например, копирование документа). |
| Добавить штамп | Нанести на PDF-документ штамп по профилю (QR-код, штамп «В производство работ» и др.). |
| Добавить пустую страницу | Вставить в PDF-документ пустую страницу A4. |
| Отправить оповещение | Отправить оповещение по электронной почте по шаблону. |
Подробное описание атрибутов и особенностей каждого типа — на странице Типы автоматических действий и её дочерних страницах. В действиях, присваивающих значения, можно использовать формулы сервиса Вычисления_old.
Избегайте правил, которые изменяют атрибут, являющийся их же триггером (или образуют замкнутый круг из нескольких правил), — это приводит к бесконечному каскаду. Для одиночных правил по «Файлу» и подобным атрибутам используйте условия, отсекающие изменения, сделанные самой автоматизацией (см. Настройка сброса статуса файла при размещении новой версии ). |
Техническое описание взаимодействия портала, модуля Workflows и движка Workflow.Manager — на странице Архитектура сервиса Автоматизации .
Начиная с версии 2025 (25.1) поддерживается полное дублирование Типа элемента с сохранением связанной конфигурации. При выполнении команды «Дублировать» (контекстное меню Типа элемента в Центре администрирования) система создаёт копию ТЭ, включая:
Имя нового ТЭ формируется по принципу [Исходное название] - копия. Если такое имя уже существует, добавляется порядковый номер (- копия 1, - копия 2 и т.д.).
Подробнее — в статье Дублирование Типа элемента (VITROCAD-5681).