Как исправить ошибку «НалогообложениеНДС» и разобраться в логике переноса данных из УТ 10.3 в УТ 11.4

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

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

Выясняем причину ошибки «Поле объекта не обнаружено (НалогообложениеНДС)»

Для начала проанализируем техническую суть возникшей проблемы. Ошибка заявляет о себе при загрузке XML-файла в базу-приемник (УТ 11) на этапе выполнения обработчика события ПослеЗагрузкиОбъекта для правила конвертации объектов (ПКО) ДоговорСПокупателемСоглашениеСКлиентом. Текст ошибки указывает на то, что программа пытается обратиться к реквизиту НалогообложениеНДС у объекта типа «Соглашение об условиях продаж» (справочник СоглашенияСКлиентами), но не находит его.

Выясним причину этого несоответствия. Фирма «1С» в релизе УТ 11.4.5 провела масштабный рефакторинг механизмов налогообложения. В рамках этих изменений реквизит НалогообложениеНДС был удален из справочников СоглашенияСКлиентами и СоглашенияСПоставщиками (логика определения НДС сместилась в сторону настроек договоров и налогообложения самих контрагентов). Однако типовые правила обмена, поставляемые со старыми релизами УТ 10.3, по-прежнему содержат жесткий код, обращающийся к этому удаленному реквизиту. В результате при попытке загрузить данные в современную базу УТ 11.4 (или УТ 11.5) мы получаем критический сбой, прерывающий транзакцию загрузки.

Вариант решения №1: Ручная корректировка правил обмена (Рекомендуемый)

Самый надежный и правильный способ решить эту проблему без отката конфигураций на старые релизы — это отредактировать правила обмена в специализированной конфигурации «1С:Конвертация данных 2.1». Разберем этот процесс по шагам.

Шаг 1. Нам необходимо найти и извлечь актуальный файл правил обмена. Многие разработчики пытаются искать их в базах источника или приемника, однако проще всего найти их в шаблоне установленной конфигурации УТ 11 на вашем компьютере. Перейдем по пути установки шаблонов обновлений:

...\1c\trade\[Номер_Вашего_Релиза_УТ11]\AddFiles\Переходы с других конфигураций\УТ103\

В этой папке находятся внешняя обработка выгрузки и правила обмена в формате XML. Также эти правила можно выгрузить из макета обработки ПомощникПереходаСДругихКонфигураций непосредственно в конфигураторе УТ 11.

Шаг 2. Загрузим правила обмена в информационную базу «Конвертация данных 2.1». Найдем ПКО с именем ДоговорСПокупателемСоглашениеСКлиентом.

Шаг 3. Перейдем на вкладку «Обработчики событий» и откроем код события ПослеЗагрузки. Мы увидим строку, которая пытается напрямую присвоить значение удаленному реквизиту:

Объект.НалогообложениеНДС = ...; // Попытка записи в несуществующий реквизит

Шаг 4. Чтобы сделать правила универсальными и защитить их от подобных ошибок, мы можем закомментировать данную строку либо обернуть ее в безопасную проверку на существование реквизита в метаданных конфигурации-приемника. Напишем следующий код:


Если ОбщегоНазначения.ЕстьРеквизитОбъекта("НалогообложениеНДС", Метаданные.Справочники.СоглашенияСКлиентами) Тогда
    Объект.НалогообложениеНДС = ПараметрыОбъекта["НалогообложениеНДС"];
КонецЕсли;

Данный код проверяет наличие реквизита НалогообложениеНДС в справочнике СоглашенияСКлиентами текущей базы. Если база обновлена и реквизита уже нет, строка просто проигнорируется, и загрузка завершится успешно.

Шаг 5. Сохраним измененные правила в XML-файл и укажем его в обработке выгрузки на стороне УТ 10.3 перед запуском процесса выгрузки данных.

Вариант решения №2: Перенос через промежуточный релиз

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

  1. Развернем чистую базу УТ 11.4.3 (или любой другой релиз ниже 11.4.5, где реквизит НалогообложениеНДС еще физически присутствует в структуре метаданных).
  2. Выполним стандартный типовой перенос данных из рабочей базы УТ 10.3 в эту промежуточную базу УТ 11.4.3. На данном этапе загрузка пройдет успешно и без ошибок.
  3. После успешного завершения переноса обновим промежуточную базу УТ 11.4.3 до актуального релиза УТ 11.4 или УТ 11.5 в обычном режиме обновления конфигурации. Платформа 1С самостоятельно и корректно перенесет и реструктуризирует данные по НДС из старых реквизитов соглашений в новые регистры и объекты.

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

Разбираем методологию: Зачем одновременно переносятся «Ввод остатков» и «Заказы»?

В процессе перехода у многих пользователей возникает методологический вопрос: почему при переносе остатков на определенную дату программа создает документы Ввод начальных остатков, но при этом также переносит документы Заказ клиента и Заказ поставщику? Не приведет ли это к задвоению данных?

Проанализируем архитектуру учета в конфигурации УТ 11. Здесь заложено жесткое разделение на финансовый учет и оперативное планирование. Рассмотрим, за что отвечает каждый из этих документов:

Таким образом, задвоения не происходит: финансовый долг и складской остаток фиксируются «Вводом остатков», а оперативные резервы и аналитика для последующих отгрузок — «Заказами».

Выясняем логику автоматического формирования «Видов номенклатуры»

Еще одной важной деталью при переходе является справочник Виды номенклатуры. В УТ 10.3 такого справочника в его современном понимании не существовало — тип номенклатуры определялся простым перечислением (Товар, Услуга, Набор-пакет). В УТ 11 вид номенклатуры является ключевым разрезом классификации, определяющим политики учета, использование серий, характеристик и шаблоны наименований.

Посмотрим, по какому принципу алгоритмы переноса создают виды номенклатуры в новой базе УТ 11:

Рекомендуем после завершения переноса зайти в справочник Виды номенклатуры в УТ 11 и вручную навести там порядок: объединить дублирующиеся виды, настроить общие характеристики вместо индивидуальных (если это применимо) и задать корректные группы доступа и шаблоны ценников.

← На главную