Назначение

Автоматизация — инструмент настройки автоматических реакций системы на события без программирования. Администратор описывает правило: при каком событии, при каких условиях и какие действия система должна выполнить. Выполнение настроенных действий берёт на себя движок рабочих процессов (см. Архитектура сервиса Автоматизации ).

Автоматизация в сочетании с Валидаторами и Вычислениями позволяет автоматизировать:

Основные понятия

ПонятиеГде хранитсяОписание
Правило автоматизации (триггер)Системный список «Автоматизация» (automation)Описывает событие: для какого Типа элемента, при изменении какого Атрибута и (необязательно) при каком значении атрибута срабатывает правило. Также определяет тип действия, которые можно к нему привязать.
УсловиеСписок «Автоматизация (условия)» (automation_condition)Формула, которая должна вернуть Истина, чтобы действия правила были выполнены. К правилу привязывается от 0 до n условий.
ДействиеСписок «Автоматизация (действия)» (automation_action)Операция, которую выполняет система. К правилу привязывается от 1 до n действий, все одного типа. Каждому типу действия соответствует свой обработчик (activity) в движке рабочих процессов.
ЦепочкаДвижок рабочих процессов (Elsa)Если на одно событие настроено несколько правил, их действия объединяются в одну последовательность — динамически компонуемый процесс Elsa.

Триггеры

Триггер — событие в системе, на которое реагирует автоматизация. В текущей реализации событием является изменение значения атрибута элемента выбранного Типа элемента (при сохранении существующего элемента), а также создание элемента: при создании все заполненные атрибуты нового элемента считаются изменёнными.

Различают два вида правил:

Вид правилаКак задаётсяПример
По значению атрибутаЗаполнены «Атрибут» и «Значение». Правило срабатывает, когда атрибут принял указанное значение. Этим способом настраиваются переходы жизненного цикла на Канбан-доске.«Статус процесса» изменился на «Согласующие» — создать задачи этапа.
Одиночный (по факту изменения)Заполнен только «Атрибут», «Значение» пустое. Правило срабатывает при любом изменении атрибута, независимо от нового значения.Изменился системный атрибут «Файл» (загружена новая версия) — сбросить статус файла; атрибут «Тип», который устанавливается однократно при создании элемента.

Большинство правил настраивается через Канбан-доску, где триггером служит смена значения атрибута, отражающего этапы жизненного цикла (Статус процесса, Статус задачи, Статус файла и т.п.). Правила с триггером по произвольному атрибуту или без учёта значения создаются напрямую в системном списке «Автоматизация» (Центр администрирования → Настройки → Списки → Автоматизация). Пример: Настройка сброса статуса файла при размещении новой версии .

Условия

Пример условия: «выполнять действия, только если процесс ещё не завершён» — This("Статус процесса.Название") != "Завершен".

При использовании в условиях функций работы со связями (Ref/Refs) в сценариях автоматического запуска процесса необходимо проверить корректность их выполнения: в ряде конфигураций такие формулы могут отрабатывать некорректно (VITROCAD-5674). Проверяйте правила на тестовой среде до внедрения в продуктивную систему.

Действия

Все действия одного правила имеют один тип и выполняются последовательно в порядке значения поля «Порядок». Действия выполняются от имени системного пользователя, поэтому права текущего пользователя на выполнение не влияют, а в атрибуте «Изменено кем» (editor) у изменённых элементов оказывается системная учётная запись.

Доступные типы действий:

Тип действияНазначение
Установить значение атрибутаПрисвоить значение атрибуту текущего (или вычисленного формулой) элемента.
Установить значение атрибута связанных объектовПрисвоить значение атрибуту элементов, связанных с текущим (вложений процесса или задачи).
Установить права доступаВыдать пользователям/группам уровень доступа на элемент.
Забрать права доступаСнять с пользователей/групп права доступа на элемент.
Создать этап процессаСоздать задачи этапа процесса и дождаться их завершения.
Обработка вложений по результатам согласованияУстановить статус вложений по решениям, принятым в задачах этапа; при необходимости завершить процесс.
Переход на этапПеревести процесс, работающий по шаблону этапов, на следующий или заданный этап.
Вызов внешнего сервисаОтправить HTTP-запрос во внешний (или внутренний) веб-сервис.
Опубликовать документОпубликовать версию документа с комментарием.
Выполнить процедуруВыполнить формулу-процедуру (например, копирование документа).
Добавить штампНанести на PDF-документ штамп по профилю (QR-код, штамп «В производство работ» и др.).
Добавить пустую страницуВставить в PDF-документ пустую страницу A4.
Отправить оповещениеОтправить оповещение по электронной почте по шаблону.

Подробное описание атрибутов и особенностей каждого типа — на странице Типы автоматических действий  и её дочерних страницах. В действиях, присваивающих значения, можно использовать формулы сервиса Вычисления_old.

Как выполняется автоматизация

  1. Пользователь или система сохраняет элемент; портал определяет, какие атрибуты изменились.
  2. Портал находит правила автоматизации, подходящие по Типу элемента, изменённому атрибуту и его новому значению.
  3. Правила, сработавшие на одно событие, передаются в движок рабочих процессов, который собирает из их действий единую цепочку и выполняет её.
  4. Перед каждым действием проверяются условия его правила; действие выполняется над элементом-триггером или над элементами из поля «Исходный элемент(ы) (формула)».
  5. Если действие изменило атрибут какого-либо элемента, это новое событие: могут сработать другие правила (каскад). Именно так процесс «переходит» со статуса на статус.
  6. Действие «Создать этап процесса» приостанавливает цепочку до завершения всех задач этапа; после этого выполнение продолжается.

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

Техническое описание взаимодействия портала, модуля Workflows и движка Workflow.Manager — на странице Архитектура сервиса Автоматизации .

Дублирование конфигурации Автоматизации при копировании Типа элемента

Начиная с версии 2025 (25.1) поддерживается полное дублирование Типа элемента с сохранением связанной конфигурации. При выполнении команды «Дублировать» (контекстное меню Типа элемента в Центре администрирования) система создаёт копию ТЭ, включая:

Имя нового ТЭ формируется по принципу [Исходное название] - копия. Если такое имя уже существует, добавляется порядковый номер (- копия 1, - копия 2 и т.д.).

Подробнее — в статье Дублирование Типа элемента (VITROCAD-5681).

Статьи раздела