Когда это нужно
После обслуживания базы обмен может остаться выключенным, а пользователи заметят устаревшие данные только утром. Проверка доступности сервера 1С не подтверждает выполнение конкретного задания. Сигнал нужен после успешной бизнес-операции.
Как подключить
- 1
Создайте отдельный монитор для обмена. Перенесите расписание и часовой пояс; для нерегулярного расписания выберите подходящий интервальный контроль.
- 2
Добавьте процедуры в серверный общий модуль. Замените ВыполнитьОбмен() своей операцией, а {{PING}} — URL монитора. Точку входа регламентного задания направьте на ВыполнитьЗадание.
- 3
На тестовой базе проверьте завершение, исключение и отсутствие запуска. Настройте максимальную длительность и Telegram или email.
Готовый пример
Шаблон для адаптации разработчиком 1С 8.3, без зависимости от БСП. Используется стандартный HTTPS-адрес пинга Tickwatch на порту 443 без дополнительных параметров. Серверу нужны интернет, доверенные сертификаты и при необходимости прокси в HTTPСоединение. Пример не реализует бизнес-операцию вашей конфигурации.
Процедура ОтправитьСигнал(Суффикс, Идентификатор)
Попытка
// Standard HTTPS ping URL on port 443, without query parameters.
Адрес = "https://ping.tickwatch.dev/YOUR_PING_KEY";
БезСхемы = Сред(Адрес, 9);
Разделитель = СтрНайти(БезСхемы, "/");
Хост = Лев(БезСхемы, Разделитель - 1);
Путь = Сред(БезСхемы, Разделитель) + Суффикс
+ "?rid=" + Идентификатор;
Защита = Новый ЗащищенноеСоединениеOpenSSL(
, Новый СертификатыУдостоверяющихЦентровОС);
Соединение = Новый HTTPСоединение(Хост, 443, , , , 5, Защита);
Запрос = Новый HTTPЗапрос(Путь);
Соединение.ВызватьHTTPМетод("POST", Запрос);
Исключение
// Signal delivery must not interrupt the business operation.
КонецПопытки;
КонецПроцедуры
Процедура ВыполнитьЗадание() Экспорт
Идентификатор = Строка(Новый УникальныйИдентификатор);
ОтправитьСигнал("/start", Идентификатор);
Попытка
ВыполнитьОбмен(); // Replace with your business operation.
ОтправитьСигнал("", Идентификатор);
Исключение
ОтправитьСигнал("/fail", Идентификатор);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры// Entry point in the scheduled job metadata:
Мониторинг.ВыполнитьЗаданиеЧто проверить перед запуском
Исходное исключение выбрасывается повторно: мониторинг не превращает неудачный обмен в успешное задание. Не скрывайте ошибки внутри ВыполнитьОбмен.
Сигналы не содержат документов, имён клиентов и текста исключений. Один UUID связывает начало и завершение конкретного выполнения.
Проверьте блокировку заданий после обслуживания и фактический запуск в вашем режиме работы базы. Для файлового режима отдельно проверьте работу без пользовательского сеанса.
Частые вопросы
Tickwatch получает доступ к базе 1С?
Здесь нужны только исходящие HTTPS-запросы. Доступ к базе, пользователям и документам Tickwatch не предоставляется.
Можно вставить код без адаптации?
Разработчик должен выбрать допустимое место подключения — например, расширение — и заменить бизнес-вызов. Сначала проверьте это на тестовой базе.