Как исправить ошибку «Метод объекта не обнаружен (ПересчитатьСуммуНДС)» при обмене между 1С:Розницей и 1С:Бухгалтерией?

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

При выполнении стандартной синхронизации данных между конфигурациями «1С:Розница» и «1С:Бухгалтерия предприятия 3.0» пользователи и специалисты нередко сталкиваются со сбоем на этапе загрузки документов розничной выручки и кассовых ордеров. Процесс обмена прерывается аварийным сообщением в журнале регистрации.

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

Анализ ошибки и причина сбоя

В процессе загрузки данных обработка КонвертацияОбъектовИнформационныхБаз генерирует следующее исключение:

Ошибка в обработчике события ПослеЗагрузкиОбъекта. ИмяПКО = ПКО_АТТ_ОтчетОРозничныхПродажах. ТипОбъекта = Поступление наличных. ОписаниеОшибки = Метод объекта не обнаружен (ПересчитатьСуммуНДС).

Проанализируем механику возникновения этой ошибки:

  1. Рефакторинг кода типовой конфигурации: В ходе очередных обновлений «1С:Бухгалтерии предприятия» разработчики оптимизируют программный код, перенося расчетные процедуры (в том числе функции пересчета НДС) из модулей объектов и форм в специализированные общие серверные модули. В результате процедура ПересчитатьСуммуНДС удаляется из модуля документа ПоступлениеНаличных (ПриходныйКассовыйОрдер).
  2. Устаревшие правила конвертации (ПКО): В правилах обмена (в обработчике ПослеЗагрузки для правила ПКО_АТТ_ОтчетОРозничныхПродажах) сохраняется прямое обращение вида Объект.ПересчитатьСуммуНДС().
  3. Рассинхронизация версий: База-приемник («Бухгалтерия») обновлена до актуального релиза, а база-источник («Розница») использует встроенный макет правил из предыдущих версий, где логика конвертации еще рассчитывала на старую структуру модулей.

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

Способ 1. Синхронное обновление конфигураций до совместимых релизов

Самый правильный и надежный путь устранения ошибки — обновление обеих информационных баз до актуальных парных версий.

  1. Проверим текущие версии используемых конфигураций через меню «Справка — О программе».
  2. Выполним обновление конфигурации «1С:Розница» до релиза, в котором правила обмена содержат актуализированные обработчики.
  3. Обновим конфигурацию «1С:Бухгалтерия предприятия» до актуального релиза.
  4. После завершения обновления обеих баз перезапустим синхронизацию данных. Новые встроенные правила применятся автоматически.

Способ 2. Загрузка внешнего файла правил из каталога шаблонов

Если возможность немедленно обновить всю конфигурацию «Розница» отсутствует (например, релиз еще не опубликован или база доработана), мы можем обновить только сами правила обмена, не затрагивая конфигурацию.

  1. Перейдем в каталог установленных шаблонов обновлений на локальном компьютере (по умолчанию это папка tmplts\1c\retail\... или tmplts\1c\accounting\...).
  2. Найдем подпапку Обмены данными в актуальном релизе конфигурации. В ней расположены готовые файлы правил конвертации в формате XML.
  3. Откроем базу в режиме «1С:Предприятие» и перейдем в раздел «Администрирование — Синхронизация данных — Настройки синхронизации данных».
  4. Выберем нужную настройку обмена, нажмем кнопку «Параметры синхронизации данных» и перейдем в пункт «Загрузить правила конвертации данных».
  5. Переключим тумблер в положение «Загрузить из файла на диске», укажем путь к извлеченному XML-файлу правил и сохраним настройку.
  6. Повторим запуск обмена.

Важно: При использовании внешних правил режим обмена должен оставаться переключенным на использование загруженных правил, чтобы система не перезаписала их стандартными встроенными макетами при следующем сеансе.

Способ 3. Ручная корректировка правил конвертации данных

Если под рукой нет готового файла правил из нового релиза, мы можем скорректировать текущий файл правил вручную в обычном текстовом редакторе или с помощью конфигурации «1С:Конвертация данных 2.1».

Разберем последовательность действий:

  1. В настройках синхронизации выгрузим текущие правила конвертации в файл на диск.
  2. Откроем полученный XML-файл в текстовом редакторе и найдем блок правила ПКО_АТТ_ОтчетОРозничныхПродажах.
  3. В теле обработчика ПослеЗагрузки найдем строку с вызовом метода ПересчитатьСуммуНДС.
  4. Закомментируем или удалим данную строку, так как расчет сумм налога в современных типовых конфигурациях корректно отрабатывает при штатной записи и проведении документа.
  5. Сохраним изменения в XML-файле и загрузим исправленные правила обратно в базу через настройку синхронизации.

Рассмотрим пример закомментированного вызова в обработчике:


// Объект.ПересчитатьСуммуНДС();
// Вызов устаревшего метода отключен для совместимости с новыми версиями БП 3.0

После применения исправленных правил обмен документами «Отчет о розничных продажах» и «Поступление наличных» завершится без ошибок.

← На главную