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