Как устранить дублирование строк и ошибки GTIN при загрузке маркированных шин из СБИС в УТ 11.4

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

При интеграции сторонних сервисов ЭДО, таких как СБИС, с типовыми конфигурациями 1С (УТ 11.4, КА 2.4, ERP) пользователи часто сталкиваются с проблемой: после загрузки УПД и перехода в форму «Проверка поступивших шин» (или другой маркированной продукции) табличная часть документа дублируется. В одной строке отображается ваша номенклатура с пустым GTIN, а в другой — данные из системы «Честный ЗНАК». Это происходит из-за разрыва логической связи между кодом маркировки и карточкой товара в базе 1С. Рассмотрим подробно, почему это происходит и как настроить корректную работу системы.

Анализ механизма работы маркировки в 1С

Для начала проанализируем, как типовая конфигурация 1С:Управление торговлей 11.4 обрабатывает входящие коды маркировки. Когда мы используем встроенный 1С-ЭДО, система автоматически сопоставляет номенклатуру поставщика с вашей и записывает GTIN (глобальный номер товарной продукции) в соответствующий регистр. Однако при использовании внешних обработок (СБИС, Контур) этот процесс может нарушаться.

Проблема заключается в том, что внешняя обработка СБИС записывает коды маркировки DataMatrix в техническую таблицу документа (обычно это табличная часть ШтрихкодыУпаковок), но не всегда обновляет справочник Штрихкоды номенклатуры. Когда вы открываете окно проверки маркировки, 1С выполняет следующие действия:

  1. Извлекает GTIN из поступившего кода маркировки (это первые 14 цифр кода).
  2. Ищет этот GTIN в регистре сведений ШтрихкодыНоменклатуры, чтобы понять, к какой позиции вашей базы он относится.
  3. Если штрихкод не найден, система считает этот товар «неизвестным» для вашей базы и создает виртуальную строку на основе данных из облака Честного ЗНАКА.

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

Шаг 1: Проверка и заполнение справочника штрихкодов

Выясним, заполнен ли GTIN для вашей номенклатуры. Это критически важное условие для работы маркировки. Разберем, как это проверить:

  1. Откройте карточку номенклатуры, по которой возникла проблема.
  2. Перейдите по гиперссылке «Штрихкоды» (в панели навигации карточки).
  3. Убедитесь, что в списке присутствует штрихкод формата EAN-13 или EAN-14, который совпадает с GTIN, присланным в УПД.

Если справочник пуст, то даже при наличии кодов внутри документа Приобретение товаров и услуг, 1С не сможет «подклеить» их к нужной строке. Вы можете добавить GTIN вручную или настроить обработку СБИС так, чтобы она делала это автоматически при сопоставлении номенклатуры.

Шаг 2: Настройка обработки СБИС для работы с маркировкой

Посмотрим на настройки внешней обработки СБИС. Зачастую техподдержка оператора утверждает, что «на их стороне всё хорошо», так как данные в 1С переданы. Но важно, как именно они переданы. Проанализируем настройки:

  1. В обработке СБИС перейдите в раздел «Настройки» — «Параметры системы».
  2. Найдите раздел, отвечающий за Маркировку.
  3. Убедитесь, что включена опция «Загружать коды маркировки».
  4. Проверьте версию используемого файла настроек (файлы с расширением .ext). Для корректной работы с УТ 11.4 рекомендуется использовать самые свежие версии настроек, так как структура хранения кодов в 1С менялась в последних релизах (переход от хранения в сериях к хранению в отдельных таблицах).

Если обработка корректно настроена, то при загрузке УПД она должна вызывать типовой программный интерфейс 1С для регистрации кодов. Если этого не происходит, коды попадают в базу как «сырые данные», которые типовая «Проверка поступивших шин» не может распознать. Для альтернативной загрузки документов из файлов ЭДО можно использовать обработку загрузки XML-файлов УПД в документы поступления.

Шаг 3: Синхронизация данных в документе поступления

Рассмотрим ситуацию, когда документ уже загружен, но строки все равно дублируются. Проанализируем содержимое технических таблиц. В 1С:УТ коды маркировки хранятся в связанных таблицах. Вы можете проверить их наличие программно или через «Консоль запросов», обратившись к табличной части ШтрихкодыУпаковок документа ПриобретениеТоваровУслуг. При необходимости скорректировать связи в базе можно использовать обработку для перепривязки и исправления маркировки.

Для исправления ситуации в уже созданном документе попробуйте выполнить следующий алгоритм:

  1. В документе поступления нажмите кнопку «Проверить поступившие шины».
  2. В открывшемся окне, если строки дублируются, попробуйте выполнить ручное сопоставление (перетащить код маркировки на вашу позицию номенклатуры).
  3. После завершения проверки 1С предложит сохранить результаты. При сохранении система может автоматически создать недостающие записи в справочнике штрихкодов.

Шаг 4: Учет особенностей серийного учета

Для такой категории товаров, как шины, в 1С часто включается ведомость по сериям. Если в Виде номенклатуры настроено ведение серий, и сериями выступают «Экземпляры товаров, имеющие уникальные номера» (что соответствует кодам маркировки), то отсутствие заполненной серии в табличной части документа также приведет к невозможности сопоставления.

Выясним, передает ли СБИС данные о сериях. Если в вашей учетной политике серии обязательны при поступлении, а обработка СБИС их не заполняет, типовой механизм маркировки будет работать некорректно. В этом случае необходимо доработать модуль загрузки СБИС или использовать 1С-ЭДО для автоматизации процесса.

Технические нюансы для программиста

Если вы занимаетесь отладкой процесса, обратите внимание на то, как обработка вызывает метод записи кодов. В типовых решениях за это отвечает модуль ИнтеграцияИСМП. Коды должны быть корректно нормализованы (удалены лишние символы-разделители, такие как GS1 Group Separator), иначе поиск по GTIN может вернуть пустой результат.

Пример структуры кода, который должен быть в таблице:


// Пример структуры данных в ТЧ ШтрихкодыУпаковок
СтрокаТаблицы.Штрихкод = "0104601234567890215abcde1234"; // DataMatrix без спецсимволов
СтрокаТаблицы.Номенклатура = СсылкаНаТовар;
СтрокаТаблицы.Упаковка = СсылкаНаУпаковку;

Если поле Номенклатура в этой таблице остается пустым после загрузки из СБИС, это и является прямой причиной дублирования строк при проверке. Система видит штрихкод, но не «знает», к какой строке документа его привязать.

Резюме: Для решения проблемы необходимо обеспечить наличие GTIN в справочнике штрихкодов 1С до момента загрузки или в процессе загрузки через СБИС. Также следует убедиться, что используемая версия обработки СБИС поддерживает специфику релиза УТ 11.4.14 и корректно заполняет связи номенклатуры с кодами в табличной части документа.

← На главную