Как исправить ошибку «Метод объекта не обнаружен» при обновлении 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе обновления конфигураций на базе «Библиотеки стандартных подсистем» (в частности, 1С:Управление торговлей 11) после успешного применения изменений в конфигураторе запускается этап постобработки данных в режиме 1С:Предприятие. Нередко процедура аварийно прерывается, а в журнале регистрации фиксируется сообщение вида:

{(1)}: Метод объекта не обнаружен (ПеренестиАналитикиПеречисленияНалоговДанныеДляОбновления) Документы.ЗаявкаНаРасходованиеДенежныхСредств.ПеренестиАналитикиПеречисленияНалоговДанныеДляОбновления(Параметры[0])

Разберем причины возникновения подобной ситуации, методы отладки и способы успешного завершения обновления информационной базы.

Причины возникновения ошибки

Проанализируем техническую сторону проблемы:

  1. Обращение к модулю менеджера: вызов вида Документы.ИмяДокумента.ИмяМетода() адресуется к модулю менеджера объекта, а не к модулю объекта. Если конфигурация была доработана и объединялась некорректно, модуль менеджера мог остаться от старого релиза либо процедура потеряла ключевое слово Экспорт.
  2. «Хвосты» очереди обновления БСП: список обработчиков регистрируется в служебных таблицах базы. Если ранее база обновлялась с пропуском обязательных промежуточных релизов или процесс прерывался, в очереди мог остаться зарегистрированный вызов метода, который разработчики конфигурации уже удалили из программного кода в более свежих версиях.
  3. Кэширование и повреждение метаданных: некорректно сработавший механизм динамического обновления или поврежденный кэш метаданных могут скрывать актуальные методы от платформы.

Способ 1. Создание процедуры-заглушки в модуле менеджера

Если метод действительно отсутствует в коде конфигурации (был удален разработчиками в новом релизе), но система пытается его выполнить из-за старой записи в очереди обновления, самым быстрым решением является создание временной пустой процедуры.

Рассмотрим порядок действий:

  1. Открываем конфигуратор и находим объект метаданных, указанный в тексте ошибки (например, документ ЗаявкаНаРасходованиеДенежныхСредств).
  2. Открываем Модуль менеджера этого документа.
  3. В самый конец модуля добавляем экспортную процедуру-заглушку:

Процедура ПеренестиАналитикиПеречисленияНалоговДанныеДляОбновления(Параметры) Экспорт
    // Заглушка для успешного завершения обновления информационной базы
КонецПроцедуры
  1. Сохраняем конфигурацию базы данных (F7) и повторно запускаем режим 1С:Предприятие для продолжения обновления.

Способ 2. Корректировка очереди обработчиков обновления

Если мы не хотим вносить изменения в конфигурацию, снимем зависшую задачу непосредственно в служебных регистрах БСП. Разберем по шагам:

  1. Запускаем базу в режиме 1С:Предприятие под пользователем с полными административными правами.
  2. Через меню Функции для технического специалиста (или Все функции) открываем регистр сведений ОбработчикиОбновления (в некоторых версиях — ОбработчикиОбновленияОбщихДанных).
  3. Находим запись, в которой фигурирует проблемный метод (например, Документы.ЗаявкаНаРасходованиеДенежныхСредств.ПеренестиАналитикиПеречисленияНалоговДанныеДляОбновления).
  4. Меняем статус обработки на Выполнена либо полностью удаляем данную строку, если актуальность переноса данных утрачена.
  5. Перезапускаем процедуру обновления через раздел НСИ и администрирование → Обслуживание → Результаты обновления программы.

Способ 3. Переход через создание узла РИБ и полное обновление

Если в базе накопились внутренние логические противоречия метаданных или доработок, эффективен метод создания отвязанного узла распределенной информационной базы:

  1. Создаем новый узел планов обмена Полный.
  2. Формируем начальный образ узла РИБ.
  3. Запускаем полученную базу в автономном режиме и отвязываем её от главного узла с помощью команды: ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
  4. Снимаем конфигурацию с поддержки и накатываем типовой файл конфигурации поставщика (.cf) нужного релиза через команду Конфигурация → Загрузить конфигурацию из файла (что полностью перезаписывает структуру метаданных и удаляет поврежденные куски кода).
  5. Запускаем режим 1С:Предприятие и успешно завершаем обновление.

Особенности отладки процедур обновления

Если требуется точно выяснить, на каком этапе происходит сбой, настроим отладчик платформы:

  1. В меню конфигуратора Отладка → Остановка по ошибке устанавливаем флаг Останавливаться по исключению (в блоке Попытка - Исключение), так как БСП скрывает падения внутри защищенных блоков.
  2. В меню Отладка → Подключение → Автоподключение обязательно активируем флаг Фоновые задания, поскольку отложенные обработчики обновления данных часто выполняются в параллельных фоновых потоках.
← На главную