Обновление платформы 1С — процедура стандартная, но иногда она влечет за собой возникновение неприятных «критических ошибок». Чаще всего они проявляются в Конфигураторе при попытке сохранить изменения или выполнить обновление конфигурации базы данных. Давайте разберем по шагам, как выявить причину сбоя и какие инструменты помогут вернуть систему в рабочее состояние.
Первое, что необходимо сделать при возникновении ошибки структуры — это проверить базу на наличие логических и физических повреждений. Для этого мы воспользуемся встроенными средствами платформы.
Для одного ссылочного кода существует более одной таблицы в базе данных, тестирование может автоматически устранить дублирование записей.chdbfl.exe (находится в папке bin установленной платформы). Она позволяет выполнить низкоуровневое сканирование файла базы данных (если база файловая) на предмет повреждения страниц данных.Часто причиной «критических ошибок» после обновления платформы является старый кэш, который хранит неактуальные структуры метаданных. Конфликт старых индексов и новой логики работы платформы 8.3.15 может приводить к аварийному завершению.
Рассмотрим, как очистить кэш:
srvinfo (обычно в профиле usr1cv8).Если штатное тестирование не помогло, мы используем метод полной реструктуризации базы данных через файл формата .dt. Этот метод позволяет очистить базу от «мусора» и пересобрать структуру индексов с нуля.
.dt файл в новую пустую базу.Новые версии платформы, такие как 8.3.15, привносят более строгие правила проверки конфигурации. Если в вашей базе есть недочеты в коде, которые предыдущие версии «прощали», то новая платформа может выдавать ошибку.
Рассмотрим работу с режимом совместимости:
Режим совместимости конфигурации на Версия 8.3.12. Если ошибка исчезла, значит, проблема кроется в несовместимости кода конфигурации с новыми механизмами платформы 8.3.15.Если вышеуказанные шаги не привели к успеху, нам нужно «заглянуть под капот». Настройте технологический журнал (ТЖ), чтобы увидеть, какой именно запрос или действие вызывает критический сбой. В файле logcfg.xml можно настроить фильтрацию событий по ошибкам (уровень error). Это позволит увидеть, на какой таблице или объекте 1С происходит разрыв соединения или сбой записи в SQL.
Совет: Всегда делайте резервную копию перед любыми действиями по «исправлению» базы. Если ситуация критическая и база не открывается, лучший вариант — восстановить рабочую копию из бэкапа и произвести обновление на тестовом стенде, а не на «боевой» базе.
Применяя данные методы последовательно, вы сможете изолировать проблему: является ли она следствием повреждения данных в базе, конфликтом кэша или же программной несовместимостью вашей конфигурации с обновленной платформой.