Описание подсистемы
Подсистема оповещения об изменении объектов (далее подсистема) разработана на основе подсистемы Версионирование объектов из состава БСП.
Механизм отслеживания изменений включает в себя 2 этапа:
- Формирование оповещений в соответствии с заданными настройками
- Отправка сформированных оповещений получателям
Формирование оповещений выполняется в разрезе каждой заданной настройки отдельным регламентным заданием и состоит из следующих шагов:
- выборка измененных объектов с момента последней проверки изменений. Выборку объектов дополнительно можно ограничить заданными в настройках отборами (это может быть полезно, если например, необходимо отслеживать только изменения в документах, находящихся в определенном статусе, не помеченные на удаление и т.д.)
- получение версий измененных объектов (получаем 2 версии - версию на дату последней проверки изменений и текущую последнюю версию объекта), расчет изменений в этих версиях. Если пользователя требуется оповещать только об изменении определенных реквизитов объекта, то при расчете изменений учитываются отслеживаемые реквизиты, и если они не были изменены, то объект пропускается.
- по рассчитанным изменениям в версиях объекта формируется фрагмент будущего отчета. Этот фрагмент записывается в промежуточный служебный регистр сведений с целью оптимизации работы с памятью (измененных объектов может быть большое количество)
- после расчета изменений по всем объектам производится выборка из промежуточного регистра с группировкой данных по получателям и формирование оповещений
- на последнем этапе фиксируется дата последней проверки изменений и очищается служебный регистр сведений.
Затем отдельным регламентным заданием осуществляется непосредственно сама отправка сформированных оповещений.
Настройка подсистемы
Для настройки механизма оповещений используется справочник "Настройки оповещений об изменении объектов"
Внешний вид формы элемента этого справочника показан на следующем скриншоте:
Рассмотрим подробнее элементы управления формы
- Наименование - указывается наименование настройки
- Тип объекта - указывается тип объекта, для которого настраивается оповещение. Настройка оповещений доступна только для объектов, подключенных к подсистеме Версионирование объектов
- Отбор - указывается при необходимости отбор объектов выбранного типа. По умолчанию, возможно настроить произвольный отбор по реквизитам объекта:
Также имеется возможность расширенной настройки отборов через редактирование запроса выборки объектов.
- От - указывается учетная запись, от имени которой будут отправляться уведомления об изменении объектов
- Тема письма - тема письма с уведомлением об изменении объектов
- Отслеживать все изменения - если флажок установлен, то отслеживаются все изменения объектов, в противном случае необходимо настроить список отслеживаемых реквизитов в табличной части "Отслеживаемые реквизиты"
- Табличная часть "Отслеживаемые реквизиты" - указывается при необходимости список реквизитов объекта, при изменении значений которых будут формироваться оповещения
- Выполнять по расписанию - при установке флажка будет активировано регламентное задание по формированию оповещений об изменении объектов.
Необходимо задать расписание выполнения задания. В расписании указывается требуемая периодичность поиска изменений объектов и формирования оповещений по найденным изменениям. Чем меньше указана периодичность, чем чаще (и более оперативно) будут формироваться уведомления. - Табличная часть "Получатели оповещений" - указывается общий список получателей оповещений. В качестве типа получателя может быть указан объект, подключенный к подсистеме Контактная информация.
- Выборка получателей - указывается текст запроса выборки получателей (Пользователей), привязанных к изменяемым объектам, Например, получателем уведомлений может быть Ответственный, указанный в документе:
После настройки оповещения будет создано регламентное задание, которое в соответствии с указанным расписанием будет формировать оповещения об изменении объектов.
Оповещения группируются по получателям, то есть все измененные с момента последней проверки объекты попадают в одно оповещение, отправляемое затем по электронной почте получателям. Открыть список сформированных оповещений можно из формы элемента справочника Настройки оповещений:
Непосредственно за отправку сформированных оповещений отвечает регламентное задание "Отправка оповещений об изменении объектов", по умолчанию задание запускается раз 5 минут.
Внешний вид оповещения отправляемого получателям показан на следующем скриншоте (за основу взят отчет из состава подсистемы Версионирование объектов по сравнению версий объектов):
Дополнительная информация
Тестирование подсистемы проводилось на версии платформы 8.3.21.1302 (режим совместимости конфигурации 8.3.14). При разработке использовалась Библиотека стандартных подсистем версии 3.1.7.