Проблематика и принцип работы
Как правило, триггером Автоматизации является изменение статуса элемента:
- изменение «Статуса задачи» у задач и замечаний — для отправки оповещений и т.д.;
- изменение «Статуса процесса» у процессов согласования — для назначения прав, создания задач и т.д.;
- изменение «Статуса файла» у файлов — для копирования, нанесения штампов и т.д.
Иногда требуется реагировать на изменение другого атрибута. Типичная ситуация — загрузка новой версии файла: если документ уже имел статус «Согласовано» или «Отклонено», после обновления его нужно перевести в статус «На корректировке», чтобы пользователи видели, что файл изменился.
Пример настройки автоматического сброса статуса файла при размещении новой версии
Создаётся одиночное правило автоматизации для типа элемента «Файл проекта»: при любом изменении системного атрибута «Файл» (он обновляется при сохранении новой версии) атрибуту «Статус файла» устанавливается значение «На корректировке». Значение-триггер не указывается — важен сам факт изменения.
Примечание
Подход применим к любым ситуациям, когда триггером является произвольный атрибут (а не статус) или факт изменения атрибута без учёта значения. Такая настройка выполняется не через Канбан-доску, а напрямую в системном списке «Автоматизация».
- Открыть системный список правил.
В пространстве Центр администрирования перейти в Настройки → Списки и открыть содержимое списка «Автоматизация» двойным щелчком по строке. - Добавить правило.
Создать элемент с типом «Изменено значение атрибута (правило автоматизации)», заполнить атрибуты, добавить условие и действие:Название Тип элемента Тип действия Атрибут Значение (строка) Условия Действия Файл проекта_Смена статуса файла при повторном размещении Файл проекта Установить значение атрибута Файл не заполняется - Название:
Если повторное размещение файла пользователем - Формула:
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("Статус файла.Название") == "Отклонено").
Действие изменяет «Статус файла», поэтому после него сработают правила Канбан-доски файла для статуса «На корректировке» (если они настроены).