Проблематика и принцип работы

Как правило, триггером Автоматизации является изменение статуса элемента:

  • изменение «Статуса задачи» у задач и замечаний — для отправки оповещений и т.д.;
  • изменение «Статуса процесса» у процессов согласования — для назначения прав, создания задач и т.д.;
  • изменение «Статуса файла» у файлов — для копирования, нанесения штампов и т.д.

Иногда требуется реагировать на изменение другого атрибута. Типичная ситуация — загрузка новой версии файла: если документ уже имел статус «Согласовано» или «Отклонено», после обновления его нужно перевести в статус «На корректировке», чтобы пользователи видели, что файл изменился.

Пример настройки автоматического сброса статуса файла при размещении новой версии

Создаётся одиночное правило автоматизации для типа элемента «Файл проекта»: при любом изменении системного атрибута «Файл» (он обновляется при сохранении новой версии) атрибуту «Статус файла» устанавливается значение «На корректировке». Значение-триггер не указывается — важен сам факт изменения.

Примечание

Подход применим к любым ситуациям, когда триггером является произвольный атрибут (а не статус) или факт изменения атрибута без учёта значения. Такая настройка выполняется не через Канбан-доску, а напрямую в системном списке «Автоматизация».

  1. Открыть системный список правил.
    В пространстве Центр администрирования перейти в Настройки → Списки и открыть содержимое списка «Автоматизация» двойным щелчком по строке.
  2. Добавить правило.
    Создать элемент с типом «Изменено значение атрибута (правило автоматизации)», заполнить атрибуты, добавить условие и действие:
    НазваниеТип элементаТип действияАтрибутЗначение (строка)УсловияДействия
    Файл проекта_Смена статуса файла при повторном размещенииФайл проектаУстановить значение атрибутаФайлне заполняется
    • Название:
      Если повторное размещение файла пользователем
    • Формула:
      This("Версия.Название") != "0.1" && Str(Id(This("editor"))) != "00000000-0000-0000-0000-000000000001" && This("Статус файла.Название") != "Размещено"
    • Название:
      Установить значение атрибута (Статус файла)
    • Атрибут:
      Статус файла
    • Формула:
      Lookup("Статусы документов.На корректировке")

Разбор условия

Часть формулыЗачем нужна
This("Версия.Название") != "0.1"Исключает первичную загрузку файла: при создании элемента «Файл» тоже считается изменённым атрибутом.
Str(Id(This("editor"))) != "00000000-0000-0000-0000-000000000001"Исключает изменения, сделанные самой системой. Действия автоматизации выполняются от имени системного пользователя с этим идентификатором; например, «Добавить штамп» и «Добавить пустую страницу» перезаписывают «Файл» — без этой проверки штамп на согласованном документе сбрасывал бы его статус.
This("Статус файла.Название") != "Размещено"Не менять статус файлам, которые ещё не проходили согласование.

Вместо исключения статуса «Размещено» можно явно перечислить статусы, из которых нужен сброс, например: (This("Статус файла.Название") == "Согласовано" || This("Статус файла.Название") == "Отклонено").

Действие изменяет «Статус файла», поэтому после него сработают правила Канбан-доски файла для статуса «На корректировке» (если они настроены).

  • No labels