Перейти к основному содержанию
`Ctrl`+`K`

# Системные уведомления

Система позволяет настраивать рассылку системных уведомлений.

Для формирования рассылки уведомлений необходимо:

1. Создать пользовательскую процедуру формирования заголовка и текста уведомления.

2. Настроить список рассылки по умолчанию.

3. Создать тип рассылки.

4. Настроить вызов процедуры рассылки.

## Пользовательская процедура для формирования текста уведомления

Для создания новой пользовательской процедуры откройте пункт меню «Настройки и сервисы\ Процедуры».

В списке, на панели фильтрации в атрибуте «Тип» выберите значение «Формирование текста рассылки» и создайте новую пользовательскую процедуру.

Процедура для формирования текста уведомления должна содержать вызов метода, разработанный программистом или jexl-код. Пример jexl-код для процедуры формирования текста уведомления: new(„ru.bitec.app.bts.systemnotification.SystemNotification“, „Текст заголовка уведомления“, „Текст тела уведомления“);

## Настройка списка рассылки

Настроить список рассылки по умолчанию можно одним из следующих способов:

1. В типе объекта, от которого будет осуществляться формирование рассылки уведомлений, на закладке «Лист рассылки системных уведомлений» заполнить список рассылки;

2. Программисту написать пользовательскую процедуру формирования списка рассылки.

Рисунок 7 Настройка листа рассылки в типах объектов

## Создание типа рассылки

Для создания нового типа рассылки откройте справочник «Тип системных уведомлений». Открыть справочник можно из приложений: • Администратор\Настройка; • Настройка системы\Настройки и сервисы:

Рисунок 8 Справочник «Тип системных уведомлений»

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

Таблица 5 Атрибуты справочника «Тип системных уведомлений»

Наименование | Описание | Способ ввода
--- | --- | ---
Модуль | Модуль, в рамках которого осуществляется рассылка данного типа уведомлений | Выбор из списка модулей
Системное имя | Системное имя типа уведомления | Текст. Ручной ввод
Наименование | Наименование типа уведомления | Текст. Ручной ввод
Редактировать лист рассылки | -Признак редактирования листа рассылки. При проставленном признаке процедура будет выводить на экран пользователю текущий список рассылки для возможности редактирования или отказа от рассылки. | Чекбокс
Функция формирования списка рассылки | Функция формирования списка рассылки. Если данный атрибут не заполнен, то выполняется базовая функция формирования списка рассылки, которая в существующем списке рассылки для данного объекта производит регистрацию записей, настроенных по умолчанию на типе объекта | Выбор из списка пользовательских процедур
Функция формирования текста уведомления | Функция формирования текста уведомления | Выбор из списка пользовательских процедур
Функция формирования уведомления | Функция формирования уведомления. Для формирования уведомлений в виде задач СЭД нужно выбрать пользовательскую процедуру «Формирование задач по системным уведомлениям» формирует задачи СЭД | Выбор из списка пользовательских процедур
Функция получения отправленных уведомлений | Функция получения отправленных уведомлений. Пользовательская процедура «Получение списка отправленных задач» выводит отправленные по заданной позиции списка рассылки задачи СЭД. | Выбор из списка пользовательских процедур
Описание | Описание. Содержит описание событий, о которых осуществляется вызов данного типа уведомления. | Текст. Ручной ввод
Не используется | Признак неактивности записи | Чекбокс
Дата окончания использования | Дата окончания использования | Дата

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

Настроить вызов процедуры рассылки одним из следующих способов:

1. Программисту в коде программы на нужное событие добавить вызов процедуры формирования уведомлений (Bts_SystemNotificationLib.sendNotification(gidObj, idSystemNotificationType));

2. Настроить вызов процедуры Bts_SystemNotificationLib.sendNotification(gidObj, idSystemNotificationType) для состояния для типа объектов;

3. Настроить вызов процедуры Bts_SystemNotificationLib.sendNotification(gidObj, idSystemNotificationType) для стадии жизненного цикла.

Для настройки рассылки уведомлений на перевод состояния объекта (возможно только для объектов, у которых есть типы объектов в btk_objecttype) нужно:

1. В заданном типе объектов перейти на закладку «Переходы состояний»

Рисунок 9 Настройка вызова процедуры формирования рассылки уведомления

2. Для заданного состояния в детализации, на одной из закладок («Процедуры при входу в состояние», «Процедуры при выходе из состояния») добавить запись, в котором указать пользовательскую процедуру рассылки.

3. Сбросить кэш настройки .

Для создания новой пользовательской процедуры откройте пункт меню «Настройки и сервисы\ Процедуры».

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

Процедура для рассылки уведомлений должна содержать jexl-код: var idvSystemType =Bts_SystemNotificationTypeApi.findByMnemoCode(„мнемокод_типа_системного_уведомления“); Bts_SystemNotificationLib.sendNotification(rop.gid, idvSystemType); где „мнемокод_типа_системного_уведомления“ мнемокод требуемого типа уведомления.

## Вывод информации о рассылках в карточке объекта

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

1. В списке закладок («Сущности\ Закладки детализации») найти закладку «Рассылка уведомлений», в детализации, на закладке «Настройка доступности» добавить класс, для объектов которого требуется вывести данную закладку (если такового класса там нет)

2. В типе объекта настроить вывод данной закладки.

3. Вызвать операцию Сброса кэша настройки.

В карточке настраиваемого объекта будет выводится закладка:

Рисунок 10 Закладка «Лист рассылки системных уведомлений»

## Рассылка уведомлений

Для включения/выключения системного уведомления нужно у соответствующего типа уведомления снять/проставить признак «Не используется».

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

Рисунок 11 Лист рассылки системных уведомлений

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

    Далее пользователь может:

• скорректировать данный список и подтвердить рассылку; • отказаться от рассылки.

Внимание! При вызове процедуры рассылки уведомлений от настройки состояний система не поддерживает возможность редактирования списка рассылки пользователем для конкретного документа непосредственно перед отправкой уведомлений (признак «Редактировать лист рассылки» в типе системных уведомлений не отработает).