При переходе между версиями конфигурации «1С:Управление нашей фирмой» (УНФ), особенно при переходе с ветки 1.6.10 на 1.6.11, администраторы и программисты часто сталкиваются с критической ошибкой. Система прерывает обновление с сообщением: {(1)}: Метод объекта не обнаружен (ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию), ссылаясь на регистр сведений СтатусыУведомленийОбОтгрузкеМаркированныхТоваровГИСМ. Разберем подробно, почему это происходит и как успешно завершить обновление.
Данная проблема носит технический характер и связана с особенностями рефакторинга кода в типовых решениях 1С. В период выпуска релизов 1.6.11 фирма «1С» активно внедряла и перерабатывала подсистемы взаимодействия с государственными информационными системами (ГИСМ и Честный знак). Метод ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию является частью механизма обновления Библиотеки стандартных подсистем (БСП).
Выделим основные факторы, провоцирующие сбой:
Как показывает практика, файловые базы данных гораздо менее подвержены проблемам с кэшированием метаданных. Рассмотрим пошагово алгоритм, который помог автору темы:
.dt и загрузим её в новую пустую файловую базу на локальном компьютере..cf)..cf.Этот метод принудительно обновляет описание всех таблиц и модулей на SQL-сервере, эффективно очищая серверный кэш метаданных.
Если вы не хотите прибегать к выгрузке/загрузке базы, проанализируем ситуацию с точки зрения системного администрирования. Посмотрим, что можно предпринять непосредственно на сервере:
1C:Enterprise Server.C:\Program Files\1cv8\srvinfo).snccntx и временные папки внутри идентификатора вашей базы (папки с длинными именами типа reg_1541\...). Внимание: делайте это только при наличии бэкапа!Разберем ситуацию, когда ошибка возникает именно на этапе выполнения процедур БСП. Если вы не используете функционал маркировки (ГИСМ), проблемный обработчик можно попробовать пропустить или исправить вручную. Выясним причину через консоль запросов или специальную обработку «Редактирование состава дополнительных обработчиков обновления» (входит в состав БСП).
Посмотрим на пример кода, который может помочь принудительно установить статус выполнения для «зависшего» задания:
// Пример кода для пропуска зависшего обработчика в консоли кода
Обработчики = ОбновлениеИнформационнойБазы.ВсеОбработчикиОбновления();
Для Каждого Строка Из Обработчики Цикл
Если Найти(Строка.Имя, "СтатусыУведомленийОбОтгрузкеМаркированныхТоваровГИСМ") > 0 Тогда
Строка.Статус = Перечисления.СтатусыОбработчиковОбновления.Выполнен;
// Записываем изменения в регистр сведений (требуется программный доступ к механизмам БСП)
КонецЕсли;
КонецЦикла;
Важно: этот метод требует глубокого понимания структуры БСП. Используйте его только в крайнем случае, так как пропуск важных процедур обработки данных может привести к логическим ошибкам в учете в будущем.
Чтобы избежать подобных проблем в будущем, проанализируем стандартный регламент обновлений:
chdbfl.exe для файловых баз и процедуру «Тестирование и исправление» (ТиИ) с проверкой логической целостности в конфигураторе./С ЗапуститьОбновлениеИнформационнойБазы. Это принудительно инициирует механизмы обновления платформы до запуска основного интерфейса.Подводя итог, отметим: ошибка Метод объекта не обнаружен при обновлении УНФ чаще всего является следствием технического конфликта кэша SQL-сервера и старой версии платформы. Метод «через файловую копию» остается самым надежным и быстрым решением для небольших и средних баз данных.