При обновлении конфигураций на базе Библиотеки стандартных подсистем (БСП), таких как 1С:Бухгалтерия предприятия 3.0, процесс обновления состоит из двух ключевых этапов: обновление структуры метаданных в Конфигураторе и выполнение дополнительных обработчиков данных в режиме 1С:Предприятие. Нередко возникает ситуация, когда при запуске базы постоянно появляется окно с сообщением о незавершенном обновлении или зависает фоновое регламентное задание. Разберем причины возникновения этой проблемы, методы диагностики и надежные способы ее устранения.
Проанализируем основные факторы, которые приводят к бесконечному или аварийному выполнению обработчиков:
Объект не найден) приводит к необработанным исключениям в коде БСП.Прежде чем отключать или модифицировать процедуры обновления, выясним, какая именно процедура вызывает ошибку:
Обновление информационной базы с отбором по уровню важности Ошибка и Предупреждение. В теле ошибки будет указан точный стек вызовов и модуль, на котором произошло аварийное завершение.Если фоновое задание не может завершиться из-за нехватки прав, блокировок или тайм-аутов, выполним обработчики в основном потоке:
ОбновлениеПредопределенныхДанных и фонового потока обновления.В типовых конфигурациях список процедур обновления и их текущее состояние хранятся в специальной константе Константы.СведенияОбОбновленииИБ. Хранилище содержит дерево процедур с их статусами.
Рассмотрим, как программно проанализировать или сбросить статус проблемного обработчика, если он не является критичным для ведения текущего учета:
// Пример программного чтения структуры сведений об обновлении
ЗначениеКонстанты = Константы.СведенияОбОбновленииИБ.Получить();
Если ЗначениеКонстанты <> Неопределено Тогда
ДеревоОбработчиков = ЗначениеКонстанты.Получить();
// ДеревоОбработчиков содержит строки с именами процедур и их статусами
// При необходимости проблемный обработчик можно пометить как выполненный
КонецЕсли;
Для безопасного управления обработчиками рекомендуется использовать штатную внешнюю обработку «Оценка производительности и обновление информационной базы» из комплекта дистрибутива БСП или инструментарий разработчика. Это исключает повреждение структуры данных в константе.
Если база данных сильно отстала по версиям, разберем правильный алгоритм последовательного наката обновлений:
1С:Предприятие 8.3, которая является рекомендованной для целевого релиза конфигурации..cf файл выполняем последовательный накат конфигураций через файлы .cfu или промежуточные релизы.Соблюдение регламента поэтапного обновления и своевременный контроль журнала регистрации позволяют избежать зависания обработчиков и гарантируют целостность данных в информационной базе.