Как настроить сопоставление номенклатуры в 1С:УТ 10.3 при обмене через ЭДО и почему поле товара остается пустым?

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

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

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

Понимаем механику: как 1С ищет соответствия

Прежде чем искать ошибку, давайте разберем алгоритм, по которому система пытается найти товар в вашей базе при чтении входящего XML-файла. В конфигурации УТ 10.3 этот процесс опирается на регистр сведений НоменклатураКонтрагентов (в некоторых версиях БЭД он может называться НоменклатураКонтрагентовБЭД).

Этот регистр связывает три сущности:

  1. Контрагент (ваш поставщик).
  2. Номенклатура (карточка товара в вашей базе 1С).
  3. Идентификатор товара контрагента (уникальный код, который поставщик присылает в электронном документе).

Когда документ загружается, система берет ID товара из файла, смотрит, от какого контрагента пришел файл, и ищет запись в этом регистре. Если запись найдена — подставляется ваша номенклатура. Если нет — поле остается пустым.

Этап 1. Проверка и ручное создание сопоставления

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

Давайте выполним следующие шаги:

  1. Откроем регистр сведений НоменклатураКонтрагентов через меню «Операции» — «Регистр сведений».
  2. Попробуем найти запись по нужному контрагенту. Если регистр пуст или записи по конкретному товару нет, система не сможет его идентифицировать.

Если автоматическое сопоставление не сработало, мы можем создать запись вручную. Для этого нам нужно знать, какой идентификатор (ID) присылает поставщик. Получить его можно двумя способами:

Способ А: Через форму документа (если доступно)
В документе «Поступление товаров и услуг» найдите подменю ЭДО. Там может быть пункт «Перезаполнить данными из электронного документа» или вызов формы сопоставления. Однако в УТ 10.3 этот механизм часто работает некорректно или требует доработки.

Способ Б: Анализ XML-файла
Это самый надежный метод диагностики. 1. Сохраните полученный электронный документ (файл обмена) на диск. 2. Откройте его любым текстовым редактором (Блокнот, Notepad++). 3. Найдите блок, описывающий товар. Идентификатор обычно находится в атрибутах тега товара (например, КодТов, НоменклНом или ИдентификаторНоменклатуры).

Скопировав этот идентификатор, мы создаем запись в регистре НоменклатураКонтрагентов:

После создания записи необходимо перезаполнить документ поступления. Используем команду ЭДО — Перезаполнить данными из электронного документа. Если проблема была только в отсутствии связи, номенклатура подставится.

Этап 2. Проблема множественного сопоставления

Иногда бывает ситуация, когда запись в регистре есть, но товар все равно не подставляется. Рассмотрим вариант дублей. Если в регистре НоменклатураКонтрагентов для одной и той же пары «Контрагент + Идентификатор» заведено несколько разных позиций «Номенклатуры 1С», система не сможет однозначно выбрать правильную и оставит поле пустым (или предложит выбор, если это реализовано в конкретной версии обработки).

Убедимся, что:

  1. В регистре нет дублирующих записей по данному идентификатору.
  2. У одной номенклатуры контрагента (один ID) есть только одно соответствие в нашей базе.

Этап 3. Неочевидная причина: расхождение реквизитов (КПП)

Мы подошли к самой интересной и сложной причине, которая часто ставит в тупик даже опытных специалистов. Допустим, мы проверили всё:

Но поле Номенклатура в поступлении все равно пустое. Почему?

Давайте проанализируем, как модуль ЭДО определяет владельца номенклатуры. Он ищет контрагента в вашей базе по ИНН и КПП, указанным в электронном документе.

Суть проблемы:
В справочнике Контрагенты у вас может быть указан один КПП (или он вообще пуст), а в присланном документе поставщик указал другой КПП (например, КПП филиала или просто изменил его). Хотя визуально документ падает на того же контрагента (часто поиск идет просто по ИНН), при поиске соответствий номенклатуры система работает жестче.

Если КПП в базе отличается от КПП в XML:

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

Как это исправить?
Проверьте карточку контрагента в 1С. Убедитесь, что КПП полностью совпадает с тем, который указан в профиле ЭДО контрагента или во входящем XML-файле. После исправления КПП в карточке контрагента:

  1. Сохраните изменения в карточке.
  2. Откройте проблемный документ поступления.
  3. Выполните команду перезаполнения данных из электронного документа.

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

Резюме по диагностике

Если в УТ 10.3 при загрузке ЭДО не заполняются товары, действуйте по алгоритму:

  1. Проверьте, есть ли вообще записи в регистре НоменклатураКонтрагентов.
  2. Если записей нет — создайте одну тестовую вручную, взяв ID из XML-файла.
  3. Если записи есть, но не работают — сверьте ИНН и КПП в карточке контрагента с данными во входящем документе. Это самая частая причина «мистических» сбоев.
  4. Помните, что команда «Перезаполнить данными из электронного документа» заново считывает файл и применяет текущие настройки сопоставления.
← На главную