Обновление нетиповых конфигураций, особенно тех, которые были сильно изменены или дополнены расширениями, часто сопровождается неожиданными ошибками в пользовательском режиме. Когда система «вылетает» на этапе обработки данных при обновлении, это сигнализирует о том, что фоновое задание не может корректно завершить свою работу. Давайте разберем по шагам, как выявить причину и успешно завершить процесс обновления.
Первое, что необходимо сделать при возникновении ошибки — это исключить влияние стороннего кода. Если вы подозреваете, что «крашится» именно расширение, следуйте данной последовательности:
DT-файл и попробуйте провести обновление на файловом варианте. Это поможет исключить ошибки, специфичные для SQL-сервера или блокировок на уровне СУБД.Если стандартные методы не помогают, необходимо запустить процесс обновления в режиме отладки. Это самый надежный способ увидеть, на каком именно участке кода происходит сбой.
Для этого выполните следующие действия:
/debug.rphost.ОбновлениеИнформационнойБазы.Одной из частых причин краха является «разрыв» между структурой метаданных текущей версии и требованиями нового релиза. Чтобы свести риск ошибки к минимуму, рассмотрите следующую стратегию:
РегистрыСведений или РегистрыНакопления, механизм обновления может отрабатывать некорректно.Если ошибка ссылается на РегламентныеЗадания, проверьте, нет ли у вас задач, которые зависят от удаленных или измененных объектов. В процессе обновления система пытается пересчитать данные, и если регламентное задание пытается обратиться к отсутствующему или несовместимому объекту, сервер 1С принудительно завершает процесс.
Помните: Если база данных имеет большой размер, процесс обновления может занимать значительное время. При этом фоновое задание может быть завершено по таймауту. В таких случаях проверьте настройки сервера на предмет ограничений по времени выполнения фоновых заданий.
Процесс обновления нетиповой конфигурации — это всегда риск. Главное правило: всегда делайте копию SQL-базы перед началом работ. Если вы столкнулись с аварийным завершением, не пытайтесь угадать причину — используйте Технологический Журнал и отладку для получения стека вызовов. В 90% случаев проблема решается либо очисткой кэша, либо удалением конфликтующих расширений, которые были написаны без учета особенностей механики обновления платформы 1С.