Подписка на запрос

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

Настройка системы для выполнения подписки на запрос

В данном документе коды классов, типов объектов и атрибутов объектов приведены как рекомендуемые для настройки процесса подписки на запрос. При настройке процесса вы можете использовать свои идентификаторы. В этом случае не забудьте изменить коды атрибутов в параметрах скриптов.

Создание атрибута "Подписчики" в классе "Запрос"

Атрибут "Подписчики" используется для отображения сотрудников, подписавшиеся на запрос.

Выполните настройки атрибута "Подписчики":

  1. Создайте пользовательский атрибут "Подписчики" (subscribers), типа "Набор ссылок на бизнес-объекты", класс объектов "Сотрудник" (employee) (все остальные параметры остаются со значениями по умолчанию), см. Настройка атрибутов класса и типа объектов.
  2. Добавьте атрибут "Подписчики" (subscribers) в группу атрибутов, отображаемую в карточке объекта, см. Изменение названия группы атрибутов и набора атрибутов, входящих в группу. В примере используется группа атрибутов "Общая информация".

Создание пользовательского действия и кнопок "Подписаться" и "Отписаться"

Кнопка "Подписаться" будет отображаться в интерфейсе оператора и использоваться для подписки на запрос. Кнопка "Отписаться" будет отображаться в интерфейсе оператора и использоваться для отказа от подписки на запрос.

Выполните настройки пользовательского действия и кнопок "Подписаться" и "Отписаться":

  1. Создайте и включите пользовательские действия по событию, см. Настройка пользовательского действия по событию.

    • "Подписаться на запрос", объект "Запрос" (serviceCall), событие "[Пользовательское событие]", действие "Скрипт", синхронное.

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

      subjects.each {

      utils.edit(it, ['subscribers':it.subscribers + user])

      }

    • "Отписаться от запроса", объект "Запрос" (serviceCall), событие "[Пользовательское событие]", действие "Скрипт", синхронное.

      Скрипт, удаляющий текущего пользователя из списка подписчиков на запрос.

      subjects.each {

      utils.edit(it, ['subscribers':it.subscribers - user])

      }

  2. Создайте пользовательские элементы управления на панели действий в карточке запроса, см. Добавление пользовательской кнопки.

    • "Подписаться", внешний вид "кнопка с подписью", действие "Подписаться на запрос".
    • "Отписаться", внешний вид "кнопка с подписью", действие "Отписаться от запроса".

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

Настройка прав на подписку на запрос

Кнопка "Подписаться" будет отображаться для сотрудников, не подписанных на запрос. Кнопка "Отписаться" будет отображаться для сотрудников, подписанных на запрос.

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

  1. Добавьте пользовательские роли, см. Роли пользователей:

    • "Не подписчик на запрос", для класса "Запрос" (serviceCall), флажок "Определить права доступа пользователя к объекту" включен.

      Скрипт, определяющий права доступа пользователя к объекту.

      return !subject.subscribers.contains(user)

    • "Подписчик на запрос", для класса "Запрос" (serviceCall), флажок "Определить права доступа пользователя к объекту" включен.

      Скрипт, определяющий права доступа пользователя к объекту.

      return subject.subscribers.contains(user)

  2. Добавьте профили прав доступа в классе "Запрос" (serviceCall), см. Добавление профиля прав доступа:

    • "Сотрудник, неподписанный на заявку", роль "Не подписчики на запрос".
    • "Подписчик", роль "Подписчики на запрос".
  3. Настройте право на выполнение пользовательского действия в классе "Запрос" (serviceCall), используя маркеры прав в группе прав "Пользовательские события".

    • Для профиля "Сотрудник, неподписанный на запрос" установите право на пользовательское событие "Подписаться на запрос".
    • Для профиля "Подписчик" установите право на пользовательское событие "Отписаться от запроса".

Настройка оповещений подписчика о событии с запросом

Выполните настройки оповещения:

  1. Для пользовательской роли "Подписчики на запрос" добавьте скрипт, определяющий список пользователей, обладающих ролью, см. Роли пользователей.

    • "Подписчик на запрос", для класса "Запрос" (serviceCall), флажок "Определить список пользователей, обладающих ролью" включен.

      Скрипт, определяющий список пользователей, обладающих ролью.

      return subject.subscribers ? subject.subscribers: []

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

Проведение подписки на запрос в интерфейсе оператора

В разделе приведен пример проведения подписки на запрос, в соответствии с настройками, описанными выше.

Подписка на запрос

Чтобы подписаться на запрос, выполните следующие действия:

  1. Откройте карточку запроса.
  2. Нажмите кнопку "Подписаться" в панели действий.

В блоке "Общая информация" в атрибуте "Подписчики" отобразится ФИО текущего сотрудника.

Отказ от подписки на запрос

Чтобы отказаться от подписки на запрос, выполните следующие действия:

  1. Откройте карточку запроса.
  2. Нажмите кнопку "Отписаться" в панели действий.

В блоке "Общая информация" в атрибуте "Подписчики" ФИО текущего сотрудника перестанет отображаться.

Массовая подписка на запросы и отказ от подписки на запросы

Чтобы выполнить массовую подписку на запросы или массово отказаться от подписки, выполните следующие действия:

  1. Выберите запросы, с которыми будет выполнена массовая операция:
    • чтобы выбрать произвольный набор запросов, установите флажки в строках нужных элементов списка;
    • чтобы выбрать ряд последовательных элементов списка, нажмите клавишу Shift и включите флажок рядом с начальным элементом и рядом с конечным элементом;
    • чтобы выбрать все запросы в рамках одной страницы списка, установите флажок в заголовке столбца;
    • чтобы выбрать все запросы на нескольких страницах списка, по очереди установите флажки в заголовках столбцов на всех нужных страницах.

    Над списком развернется панель массовых операций. Панель операций с объектами списка разворачивается при установке флажка рядом с хотя бы одним элементом списка. В панели отображается количество отмеченных запросов и ссылки с названиями массовых операций, которые доступны хотя бы для одного из выбранных запросов.

  2. Нажмите ссылку "подписаться" или "отписаться".

    С выбранными запросами будет произведена массовая операция.