Нередко при обновлении нетиповых или доработанных конфигураций 1С (в частности, 1С:Бухгалтерия предприятия 3.0) возникает сбой: процесс в конфигураторе завершается без ошибок, конфигурация базы данных успешно сохранена, но при открытии программы в режиме 1С:Предприятие процедура обновления данных не стартует либо упорно пытается примениться к предыдущему номеру релиза. При этом параметр запуска /C ЗапуститьОбновлениеИнформационнойБазы не дает результата, а ручные правки в РегистрСведений.ВерсииПодсистем сбрасываются обратно.
Разберем детально, почему возникает подобное поведение платформы и Библиотеки стандартных подсистем (БСП), а также по шагам рассмотрим способы полного устранения проблемы.
Основная и наиболее распространенная причина в измененных конфигурациях — нарушение правил обновления объектов, находящихся на поддержке. Если типовые общие модули или корень конфигурации были случайно сняты с поддержки (установлен признак Снято с поддержки вместо Редактируется с сохранением поддержки), штатный механизм обновления через файл .cf или .cfu перестает их модифицировать.
В конфигурациях на базе БСП номер версии для обработчиков обновления определяется не только в свойствах корневого элемента конфигурации, но и жестко зашит в коде общих модулей. Если модуль ПодсистемыКонфигурацииПереопределяемый или специализированный модуль обновления не обновился из-за снятой поддержки, при запуске предприятия система считывает номер релиза из неизмененного исходного кода. В результате предприятие считает текущую версию устаревшей и запускает сценарий для старого релиза.
Разберем по шагам, как восстановить корректную структуру поддержки:
.dt или копия на уровне СУБД)..cf требуемого нового релиза.F7.Проанализируем влияние установленных расширений. Автоматически загружаемые патчи и исправления от фирмы 1С (расширения с префиксом EF_), созданные под предыдущие релизы, при переходе на новую версию становятся неактуальными. Если патч перехватывает процедуру инициализации БСП или модули обновления, он может блокировать переход на новую версию данных.
Для устранения влияния сторонних модификаций выполним следующие действия:
EF_, относящиеся к старому релизу.Иногда платформа кэширует старые версии модулей и структуры базы. Перед повторной попыткой обязательно вычистим локальный кэш пользователя (каталоги AppData\Local\1C\1cv8 и AppData\Roaming\1C\1cv8) либо переподключим информационную базу в списке запуска с новым уникальным идентификатором базы.
В ситуациях, когда запуск через интерфейс не отрабатывает, используем гарантированный запуск пакетного обновления данных БСП из командной строки с помощью специального параметра:
1cv8.exe ENTERPRISE /F "D:\Bases\BP" /N "Администратор" /P "Пароль" /UpdateInfoBase
Параметр /UpdateInfoBase запускает монопольные процедуры обновления данных и автоматически закрывает сеанс платформы после их успешного завершения.
Если обновление все равно не доходит до конца, выясним причину через диагностические инструменты платформы: