Почему при проверке поступления маркированного товара в 1С:УТ 10.3 позиции «разлетаются» в разные строки или горят красным?

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

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

Анализ ситуации: конфликт штрихкодов EAN-13 и GTIN

Для начала проанализируем структуру кодов, которые участвуют в процессе. В системе маркировки «Честный знак» используется международный формат GS1 DataMatrix. Внутри этого кода обязательно присутствует идентификатор GTIN (Global Trade Item Number), который обычно начинается с признака 01.

Проанализируем пример, приведенный в обсуждении:

Выясним причину конфликта: штрихкоды, начинающиеся на 20–29, относятся к диапазону для внутреннего использования (Local Use). Поставщик мог использовать их годами для внутреннего учета. Однако для регистрации товара в системе «Честный знак» он обязан получить глобальный GTIN, который в России чаще всего начинается на 46.

Проблема возникает в тот момент, когда в вашей базе 1С товар заведен под внутренним кодом 200..., а в коде маркировки зашит 046.... Для программы это два совершенно разных товара, даже если физически это одна и та же коробка. При сканировании 1С ищет в регистре штрихкодов именно тот номер, который пришел в DataMatrix, не находит его и «выбрасывает» позицию в новую строку.

Шаг 1. Настройка регистра штрихкодов в 1С:УТ 10.3

Чтобы автоматика начала срабатывать правильно, нам необходимо «подружить» карточку номенклатуры с тем GTIN, который использует поставщик в маркировке. Рассмотрим, как это сделать правильно:

  1. Откроем карточку номенклатуры.
  2. Перейдем к списку штрихкодов (обычно это вкладка или переход в регистр Штрихкоды).
  3. Добавим новую запись. В поле «Штрихкод» необходимо ввести GTIN из маркировки. Важный нюанс: GTIN часто содержит ведущий ноль (всего 14 цифр). В 1С:УТ 10.3 штрихкод может храниться как в 14-значном, так и в 13-значном формате (без первого нуля). Попробуйте добавить 4610142926173.
  4. Обязательно укажите единицу измерения, к которой привязан этот код (например, «шт»).

Теперь при сканировании DataMatrix система обратится к регистру, найдет соответствие по GTIN и автоматически сопоставит его с нужной позицией в документе поступления.

Шаг 2. Работа с упаковками и регистром «Штрихкоды и упаковки товаров»

В последних обновлениях УТ 10.3 (версии 10.3.59 и выше) логика работы с маркировкой была существенно расширена. Посмотрим на работу регистра Штрихкоды и упаковки товаров. В отличие от старого регистра штрихкодов, этот механизм специально заточен под требования ИС МП (Информационной системы маркировки продукции).

Если после добавления обычного штрихкода проблема сохраняется, проанализируем справочник Единицы измерения. В форме единицы измерения для маркируемых товаров должна появиться возможность указать «Параметры упаковки» или «GTIN».

Выполним следующие действия:

Шаг 3. Анализ действий поставщика

Проанализируем ситуацию с точки зрения бизнес-процесса. Если на товаре наклеен один штрихкод (EAN-13), а внутри маркировки зашит другой (GTIN), это считается плохой практикой. Согласно рекомендациям «Честного знака», линейный штрихкод на упаковке должен совпадать с тем GTIN, который передается в составе DataMatrix.

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

Пример программной проверки сопоставления

Для программистов, желающих понять, как 1С обрабатывает эти данные «под капотом», приведем пример логики поиска номенклатуры по считанному коду. В модулях обработки проверки поступления часто используется поиск по входящему штрихкоду. Разберем упрощенную схему того, что происходит при сканировании:


// Упрощенная логика поиска номенклатуры по GTIN из маркировки
Функция НайтиНоменклатуруПоМаркировке(ДанныеМаркировки)
    
    // Извлекаем GTIN (первые 14 цифр после идентификатора 01)
    СтрокаGTIN = ИзвлечьGTIN(ДанныеМаркировки); 
    
    // Поиск в регистре штрихкодов
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	Штрихкоды.Владелец КАК Номенклатура,
    |	Штрихкоды.ЕдиницаИзмерения
    |ИЗ
    |	РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    |	Штрихкоды.Штрихкод = &Штрихкод";
    
    // Пробуем найти и как 14 знаков, и как 13 (отсекая ведущий ноль)
    Запрос.УстановитьПараметр("Штрихкод", СтрокаGTIN);
    Результат = Запрос.Выполнить();
    
    Если Результат.Пустой() Тогда
        // Если не нашли, пробуем без ведущего нуля
        Если Лев(СтрокаGTIN, 1) = "0" Тогда
             Запрос.УстановитьПараметр("Штрихкод", Сред(СтрокаGTIN, 2));
             Результат = Запрос.Выполнить();
        КонецЕсли;
    КонецЕсли;
    
    Возврат Результат;
КонецФункции

Из этого кода становится ясно, что если в вашем регистре Штрихкоды нет записи с этим числовым значением, сопоставление гарантированно провалится. Программа не «знает», что ваш внутренний код 200... и пришедший 461... — это одно и то же, пока вы явно не укажете это в регистре.

Резюме

Чтобы «забороть» проблему разлетающихся строк в УТ 10.3 при проверке маркировки, выполните следующие шаги:

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

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

← На главную