Как исправить ошибку «Поле объекта не обнаружено (СтавкаНДС)» и управлять составом выгрузки при синхронизации УТ 10.3 и БП 3.0

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

Синхронизация данных между Управление торговлей 10.3 и Бухгалтерия предприятия 3.0 — это классический сценарий, который часто преподносит сюрпризы после обновлений. Одной из наиболее распространенных проблем является несоответствие структур метаданных, когда одна база данных уже обновилась, а другая (или правила обмена в ней) осталась прежней. Разберем подробно, как решить проблему с полем СтавкаНДС и как гибко управлять списком документов, предназначенных для отправки.

Выясним причину ошибки: почему исчезло поле «СтавкаНДС»?

Проанализируем ситуацию: при попытке загрузки данных в Бухгалтерию предприятия 3.0 система выдает критическую ошибку: Поле объекта не обнаружено (СтавкаНДС). Это происходит потому, что в современных релизах БП 3.0 разработчики фирмы «1С» изменили архитектуру хранения ставок НДС в справочнике Номенклатура.

Раньше значение ставки НДС хранилось непосредственно в реквизите справочника как ссылка на перечисление. В новых версиях этот реквизит часто переименовывается в УдалитьСтавкаНДС (для обеспечения обратной совместимости при обновлении), а рабочие данные переносятся в другие структуры или типы данных. Если ваша УТ 10.3 использует старые правила обмена, она пытается обратиться к реквизиту, которого в структуре БП 3.0 уже нет или он называется иначе. Рассмотрим пути решения этой проблемы.

Решение 1: Обновление правил обмена и конфигурации

Самый правильный и надежный способ — это приведение обеих конфигураций к актуальному состоянию. Однако мы понимаем, что УТ 10.3 часто бывает сильно кастомизирована, и ее обновление может быть затруднено. В таком случае выполним следующие шаги:

  1. Загрузка актуальных правил: Новые правила обмена (файлы XML) обычно поставляются вместе с дистрибутивами обновлений. Нам нужно найти файл правил в папке шаблонов конфигурации (обычно это папка tmpls в каталоге установки 1С) и загрузить их в настройку обмена в УТ 10.3 через меню «Параметры обмена» — «Загрузить правила».
  2. Корректировка в «Конвертации данных»: Если типовые правила не помогают, воспользуемся конфигурацией Конвертация данных 2.1. В ней мы можем загрузить структуру БП 3.0, найти ПКО (правила конвертации объектов) для справочника Номенклатура и вручную сопоставить поле источника СтавкаНДС с актуальным полем приемника.

Управление составом отправляемых данных в УТ 10.3

Часто возникает необходимость отменить передачу определенных документов или целых справочников (например, если справочник номенклатуры вызывает ошибку, а нам нужно срочно передать только документы). Рассмотрим, как это сделать в интерфейсе УТ 10.3.

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

  1. Перейдем в меню Сервис -> Обмен данными -> Все настройки обмена данными.
  2. В открывшемся списке выберем нашу настройку обмена с бухгалтерией.
  3. Нажмем на кнопку Состав отправляемых данных (обычно эта иконка выглядит как монитор с карандашом).

Перед нами откроется дерево всех объектов метаданных, которые зарегистрированы для обмена. Напротив каждого типа объекта будет указано количество измененных элементов, которые программа планирует отправить.

Как отменить передачу конкретных объектов?

Разберем по шагам, как очистить очередь выгрузки:

Способ А: Отмена регистрации всех объектов типа

Если мы хотим полностью исключить, например, передачу всей номенклатуры в текущем сеансе, нажмем правой кнопкой мыши на узле Справочники -> Номенклатура и выберем пункт Отменить регистрацию всех объектов данного типа. После этого счетчик объектов обнулится, и при следующем обмене справочник не будет выгружен.

Способ Б: Точечная отмена регистрации

Если нужно убрать только один конкретный документ, раскроем список объектов данного типа, найдем нужную строку и удалим ее из списка регистрации. Это не удалит сам документ из базы, а только уберет «пометку» о том, что его нужно передать в бухгалтерию.

Настройка постоянных фильтров (чтобы объекты не регистрировались снова)

Проанализируем ситуацию: простая отмена регистрации — это временная мера. Как только пользователь изменит карточку товара или перепроведет документ, 1С снова автоматически поставит его в очередь на обмен. Чтобы запретить передачу данных на постоянной основе, рассмотрим два подхода:

  1. Настройка фильтров в узле плана обмена: В самой настройке обмена можно указать дату начала выгрузки или фильтрацию по организациям/складам. Если документ не проходит по фильтру, он не будет регистрироваться.
  2. Изменение состава плана обмена в Конфигураторе: Это более радикальный метод для программистов. Мы можем зайти в Конфигуратор, найти используемый План обмена, перейти на вкладку Состав и у конкретного объекта (например, справочника Цены) снять галочку Авторегистрация. Это полностью отключит автоматическое добавление изменений этого объекта в очередь обмена.

Технический нюанс: COM-соединение и версии платформы

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

Однако, в контексте СтавкаНДС, мы почти наверняка имеем дело именно с несоответствием правил обмена и обновленной конфигурации БП 3.0. Рекомендуем сначала проверить именно правила обмена в формате XML, так как они являются «инструкцией» для программы: какое поле откуда брать и куда записывать.

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

← На главную