В организации есть множество баз, между которыми проходит обмен через синхронизацию.
Иногда обмены могут остановиться или зависнуть: например, из-за проблем со связью, из-за зарегистрированного к обмену документа, который в приемнике в закрытом периоде, или из-за того, что зарегистрировался к обмену большой объем данных.
Ранее было оповещение через zabbix или через рассылку на почту. Но эти варианты оповещения оказались неудобны для первой линии техподдержки: оповещение через zabbix админам удалось настроить только для синхронизаций, которые обмениваются данными через файлы обмена, и zabbix постоянно "спамил" оповещениями, если обмен не работал. А рассылку через почту сотрудник техподдержки иногда мог упустить среди других рассылок.
Поэтому было принято решение сделать оповещение в Телеграм, которым все пользуются и которое довольно-таки удобное.
Также целью было сделать обработку, которая была бы максимально простой и универсальной.
В чем суть обработки:
1) Обращаемся к регистру сведений СостоянияУспешныхОбменовДанными, которых хранит в себе дату последней успешной синхронизации. Этот регистр сведений как правило есть в каждой типовой конфигурации 1С.
2) Далее берем только ту синхронизацию, у которой успешный обмен последний раз был более часа от текущей даты (т.е. это уже подозрение, что он либо завис, либо совсем перестал работать)
3) Формируем уникальное сообщение для оповещения. Если оно уже есть в ХранилищеОбщихНастроек, то не отправляем его. Если нет, то отправляем в Телеграм.
ХранилищеОбщихНастроек сделано, чтобы не было множественных сообщений о проблемах с обменом, т.е. оповещение уникальное в телеграм должно отправиться 1 раз.
Что нужно сделать, чтобы все заработало?
1. Установить внешнюю обработку в базу 1С, в которой больше всего обменов (можно и во все базы, на свое усмотрение).
2. Установить из этой обработки два регламентных заданий:
Одно из них "Оповещение об остановке обмена (Регламент)", расписание запуска каждые 900 сек (т.е. каждые 15 мин, этого достаточно)
Второе "Очистить список уже отправленных оповещений", сделать запуск каждый день в 00:30 например или в любое другое время когда обмены точно не зависнут и не остановятся.
Регламент "Очистить список уже отправленных оповещений" просто очищает ХранилищеОбщихНастроек, где хранятся уникальные сообщения для оповещения.
Конкретной привязки к конфигурации нет, регламент работает сейчас на всех рабочих базах организации. В целом на любых платформах работоспособность тоже должна быть успешной (проверено на платформах версий 8.3.10.2466, 8.3.15.1869, 8.3.24.1342).