Регламентное задание 1С упало с неперехваченным исключением: траблшутинг
- Статус регламентного задания в консоли администрирования:
Ошибка выполнения. - В Журнале регистрации событие
Фоновое задание. Ошибка выполненияс подробным описанием ошибки и стеком вызовов. - Повторные циклы перезапуска задания приводят к лавинообразному забиванию очереди заданий.
- Ошибки деления на ноль, обращения к несуществующим реквизитам или COM-объектам на Linux-сервере.
1. Детальный анализ стека ошибки в Журнале регистрации
Отфильтруйте Журнал регистрации по метаданным проблемного регламентного задания:
- Событие:
Фоновое задание. Ошибка выполненияили$Job.Fail$. - Важность: Ошибка.
- Изучите точный номер строки исполняемого модуля, на которой произошло прерывание.
2. Корректная обработка исключений в коде
Оберните критические участки процедур регламентного задания в конструкцию безопасного выполнения с обязательной записью в ЖР:
Попытка
ВыполнитьКритическуюОбработкуДанных();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(
"РегламентныеЗадания.МоеЗадание",
УровеньЖурналаРегистрации.Ошибка,
,
,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)
);
КонецПопытки;3. Проверка платформенных ограничений Linux
Если сервер 1С работает под Linux, убедитесь, что в коде фонового задания отсутствуют вызовы Windows-специфичных механизмов: Новый COMОбъект, обращение к путям вида C:\ или обращение к Windows-шрифтам/принтерам без проверки ОС.
Частые вопросы (FAQ)
Почему регламентное задание падает без записи подробностей в Журнал регистрации?
Если падение происходит из-за краха процесса rphost на уровне ядра C++ (Segmentation fault), событие не успевает записаться в ЖР. В этом случае причину нужно искать в технологическом журнале и системном dmesg/Event Viewer.
Как временно отключить аварийное регламентное задание?
В пользовательском режиме через раздел 'Администрирование -> Обслуживание -> Регламентные задания' снимите флаг 'Включено' или в консоли кластера серверов 1С отключите флаг 'Блокировка регламентных заданий включена' для всей базы.
Почему при падении задания блокируется вся информационная база?
Если исключение произошло внутри транзакции, платформа инициирует автоматический откат транзакции (Rollback), который может занять длительное время при большом объеме измененных данных.
Как отправить уведомление администратору при аварии фонового задания?
Используйте типовые подсистемы БСП (Оповещение администраторов) или настройте триггер мониторинга Zabbix/Prometheus по чтению Журнала регистрации.