Действие по событию "Отслеживание изменений"

Описание

Действие по событию типа "Отслеживание изменений" предназначено для отправки сообщений о событиях с объектом в WebSocket-канал.

WebSocket-канал — это соединение между веб-клиентом и сервером, установленное с помощью протокола WebSocket.

Алгоритм выполнения действия по событию

Подключение системы к WebSocket-каналу → Наступление инициирующего события → Проверка выполнения условий действия по событию → Вычисление значение параметра "Кому" → Выполнение скрипта кастомизации → Выполнение скрипта, определяющего действие по событию. Действие по событию выполняется один раз → Отправка сообщения в WebSocket-канал.

Подробное описание настройки и работы с контекстными сообщениями смотри в разделе Контекстные сообщения.

Место настройки в интерфейсе

Раздел меню "Настройка системы" → настройка "Действия по событиям".

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

Выполнение настройки

На странице "Действия по событиям" нажмите Добавить действие, на форме добавления действия по событию заполните поля и нажмите Сохранить.

Поля с общими параметрами действия по событию:

  • Название — название действия по событию, используемое в системе.
  • Код — уникальный код действия по событию. Значение заполняется автоматически (транслитерация названия действия по событию при переводе фокуса с поля "Название"), код можно изменить.
  • Описание — дополнительная информация о действии и его назначении.
  • Объекты — классы/типы объектов, относительно которых совершается событие.

    При установке флажка у класса или типа флажки проставляются у всех вложенных типов. Флажки вложенных типов доступны для редактирования.

    При снятии флажка у класса или типа флажки снимаются у всех вложенных типов. Если снять флажок хотя бы у одного вложенного типа, то снимается флажок у класса, флажок у родительского типа сохраняется.

  • Метки — одна или несколько меток, определяющих процессы, в которых используется данное действие по событию, подробнее.

  • Событие — событие, при наступлении которого будет выполняться действие.

    Перечень доступных событий зависит от выбранного класса/типа объектов:

    • Открытие формы редактирования;
    • Изменение объекта;
    • Смена статуса;
    • Смена ответственного;
    • Прикрепление файла к объекту;
    • Добавление комментария к объекту;
    • Редактирование комментария.

    Для определенных событий на форме добавления и редактирования могут отображаться дополнительные поля.

    В поле "Выполнять действие при изменении атрибутов" указываются атрибуты, при изменении значения которых (хотя бы одного) выполняется действие по событию.

    Подробное описание инициирующих событий и дополнительных полей приводится в разделе Инициирующие события для выполнения действия по событию.

  • Действие: "Отслеживание изменений".

  • Атрибуты, передаваемые в контекст — укажите атрибуты, которые будут использоваться при выполнении действия по событию.

    В поле рекомендуется указывать:

    • адрес электронной почты (email) или атрибуты, используемые для вычисления ролей, указанных в параметре "Кому" для действия по событию;
    • все атрибуты, указанные в поле "Выполнять действие при изменении атрибута", чтобы они попадали в список измененных атрибутов в сообщение для пользователя по умолчанию.

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

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

    Поле доступно для всех событий, кроме событий "Редактирование комментария" и "Упоминание в рамках выбранных объектов".

    Параметры действия по событию: Объект: Задача, Событие: Изменение объекта, Выполнять действие при изменении атрибутов: Название, Описание, Срок,
    Ожидаемый результат настройки: Если пользователь Иванов отредактирует атрибуты задачи Описание, Срок, Примечание, Связанные задачи, пользователь получит сообщение об изменении такого вида: "Иванов Алексей изменил(а): Описание, Срок."

  • Очередь обработки действия — выберите очередь, в которой будет размещено действие по событию.

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

Поля с параметрами действия типа "Отслеживание изменений":

  • Кому — выберите уведомляемых сотрудников.

    Сотрудники выбираются из разделов дерева:

    • "Компания" — иерархический список отделов и вложенных сотрудников.

      Если выбран отдел, то в список получателей будут добавлены все неархивные сотрудники отдела на момент выполнения действия по событию.

    • "Команды" — список команд и вложенных сотрудников.

      Если выбрана команда, то в список получателей будут добавлены все неархивные участники команды на момент выполнения действия по событию.

    • "Роли" — список абсолютных и относительных ролей, сгруппированных по классам, которые указаны в параметре "Объекты". В списке отображаются системные роли и пользовательские роли, предназначенные для определения списка пользователей, см. Роли пользователей.

    Роли, список сотрудников-участников команды или отдела вычисляются на момент выполнения действия по событию, а не на момент постановки его в очередь.

    Если сотрудник оказывается в списке получателей несколько раз, например, является участником разных команд/отдела и команды/ролей, то дубли из общего списка получателей исключаются.

  • Исключить автора действия из списка получателей:

    • Флажок установлен (по умолчанию) — автор действия не информируется о событии с объектом.
    • Флажок снят — автор действия информируется о событии с объектом.
  • Использовать текст сообщения по умолчанию:

    • Флажок установлен (по умолчанию) — отображается пример текста сообщения по умолчанию, например, "Петров Иван Сергеевич изменил(а) параметры: Приоритет, Срочность, Статус, Услуга."

    • Флажок снят — отображается дополнительный параметр:

      • Текст уведомления — поле для ввода теста информационного сообщения.

        Если в системе включена локализация, то выводится поле "Текст сообщения ({локаль})" для каждой доступной в системе локали.

  • Действие в веб-интерфейсе — действие в интерфейсе оператора при наступлении события:

    • "Сообщение";
    • "Сообщение об изменении с кнопкой Обновить" (по умолчанию);
    • "Автообновление".

      Если при наступлении события открыта полноэкранная форма редактирования, то автообновление не будет выполнено, а введенные на форме данные будут сохранены.

    Для события "Открытие формы редактирования" доступно только действие "Сообщение".

  • Область обновления — область обновления при нажатии на кнопку Обновить и при автообновлении. Заполняется для действий "Сообщение об изменении с кнопкой Обновить" и "Автообновление".

    • "Контенты с изменениями" (по умолчанию);
    • "Страница" — доступно только для действия "Сообщение об изменении с кнопкой Обновить";

    • "Значения атрибутов" — недоступно для событий "Добавление комментария к объекту", "Редактирование комментария", "Прикрепление файла к объекту".

  • Скрипт — скрипт кастомизации для получения значений атрибутов для подстановки в текст сообщения и кастомизации текста сообщения.

    Сперва выполняется скрипт, затем генерируется текст сообщения.

Результат настройки

На экране отобразится карточка действия по событию. Действие по событию также отобразится в списке на странице "Действия по событиям".

В WebSocket-сообщении на веб-клиент передается информация:

  • список идентификаторов пользователей из поля "Кому";
  • тип действия в веб-интерфейсе: сообщение, сообщение с кнопкой "Обновить", автообновление.
  • тип события:

    • Открытие формы редактирования;
    • Изменение объекта;
    • Смена статуса;
    • Смена ответственного;
    • Прикрепление файла к объекту;
    • Добавление комментария к объекту;
    • Редактирование комментария.
  • текст сообщения в локали;
  • стиль сообщения;
  • область обновления;
  • вид/код формы (определен только для событий "Открытие формы редактирования");
  • список измененных атрибутов;
  • список контентов измененных атрибутов на карточке и форме редактирования (не определяется для события "Открытие формы редактирования").

Если в настройке системы "Управление уведомлениями" снят флажок Отслеживать редактирование и изменение текущего объекта, то все действия по событию типа "Отслеживание изменений" блокируются, на карточку действия по события выводится предупреждение с текстом: "Внимание! Механизм отслеживания изменений отключен. Действия типа "Отслеживание изменений" выполняться не будут."
Подробнее смотри в разделе Отслеживание изменений в режиме реального времени

Особенности настройки действия по событию "Отслеживание изменений"

  • Если одновременно включено несколько действий по событию типа "Отслеживание изменений" по одному типу объектов, событию и пересекающемуся списку атрибутов из параметра "Выполнять действие при изменении атрибутов" (или параметр не задан у всех), но с разными действиями в веб-интерфейсе: "Автообновление" и "Сообщение об изменении с кнопкой Обновить", то на карточку таких действий по событию выводится предупреждение о некорректной настройке.
  • Если в системе одновременно включены "живые комментарии" в настройках конфигурации и настроено действие по событию типа "Отслеживание изменений" по событию "Добавление комментария к объекту" или "Редактирование комментария" и задано действие в веб-интерфейсе: "Сообщение об изменении с кнопкой Обновить", то на карточку такого действия по событию выводится рекомендация отключить автообновление в настройках конфигурации."
  • Если у действия по событию типа "Отслеживание изменений" не заполнено поле "Кому" и нет скрипта кастомизации, то контекстные сообщения не будут отправляться. На карточку действия по событию выводится предупреждение.

Последующие настройки

  • Условия выполнения действия по событию

    Для каждого действия по событию может быть задано одно или несколько условий выполнения этого действия.

  • Включение действия по событию

    Действие по событию создается в состоянии "выключено". Для использования действия по событию его необходимо включить. Затем действие по событию можно исключить из работы путем отключения и снова включить при необходимости его дальнейшего использования. Текущее состояние действия по событию отображается в параметре "Включено", зеленая галочка означает включено.

    Чтобы включить (выключить) действие по событию, выполните одно их следующих действий:

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

      В списке действий по событиям можно изменить состояние "выключено" или "включено" одновременно для одного или нескольких действий по событиям.

    Модуль "Интерфейс облегченных настроек" представляет лицензированным пользователям возможность самостоятельно включать или выключать действия по событию, используя интерфейс администратора с ограниченным функционалом.