Рассмотрим частую проблему, с которой сталкиваются пользователи при настройке маркировки товаров легкой промышленности в конфигурации 1С:Управление торговлей 10.3. При попытке пробить товар через документ ЧекККМ сканер считывает марку, но система не запрашивает код маркировки, а выдает сообщение: «Номенклатура со штрих-кодом 46... не найдена». При этом старые остатки с упрощенными марками (начинающимися на 0129) обрабатываются корректно и снимаются с оборота в системе «Честный Знак». Проанализируем ситуацию и разберем по шагам, как настроить систему для правильной работы.
Выясним причину, почему часть марок читается, а часть — нет. Коды маркировки, начинающиеся на 0129, обычно выпускались по упрощенной схеме для маркировки остатков. Они имеют упрощенный GTIN и обрабатываются алгоритмами 1С по отдельному сценарию.
Новые марки, приходящие от поставщика, содержат полноценный код DataMatrix. Их GTIN начинается на 046 (префикс российской ассоциации GS1 Rus). Когда мы сканируем такую марку, 1С извлекает из нее GTIN (который соответствует стандартному штрихкоду EAN-13, начинающемуся на 46) и пытается сопоставить его с базой данных. Если система не находит этот штрихкод в регистре, она воспринимает считанный код как обычный, неизвестный товар.
Разберем первое и самое важное правило работы с маркированным товаром: извлеченный из DataMatrix штрихкод поставщика (GTIN) обязательно должен быть привязан к конкретной карточке номенклатуры.
Штрихкоды).ЧекККМ.Проанализируем поведение торгового оборудования. Часто проблема кроется в том, что сканер (например, CL-600 2PD) работает в режиме эмуляции клавиатуры (Keyboard Wedge). В этом режиме оборудование может «съедать» или игнорировать невидимые спецсимволы, такие как FNC1 или <GS> (Group Separator, ASCII 29).
Эти символы выступают в роли разделителей блоков внутри DataMatrix. Если они не передаются в программу, 1С не может распознать длинную строку как код маркировки. Алгоритм просто отрезает первые 13 цифр и пытается искать их как обычный линейный штрихкод. Рассмотрим, как это исправить:
Посмотрим на программную часть взаимодействия 1С со сканером. В теме упоминается использование драйвера «ШТРИХ-М: Драйвер ККТ». Иногда сторонние драйверы некорректно маршрутизируют внешнее событие ExternalEvent в УТ 10.3 при работе в режиме обычного чека ККМ.
Если вы перевели сканер в режим COM-порта, рекомендуем использовать стандартный драйвер 1С: Сканеры штрихкода (NativeApi). Посмотрим на пример того, как логика 1С обрабатывает корректное событие:
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
Если Событие = "Штрихкод" Тогда
// 1С проверяет длину и наличие спецсимволов (тегов)
Если СтрДлина(Данные) > 13 И Найти(Данные, Символ(29)) > 0 Тогда
// Запускается алгоритм обработки маркировки
ОбработатьКодМаркировки(Данные);
Иначе
// Обычный поиск по EAN-13
ОбработатьЛинейныйШтрихкод(Данные);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Также обязательно проверьте параметры подключения в разделе Торговое оборудование. В параметрах драйвера сканера должны быть корректно заданы префиксы (если необходимо) и суффиксы. Стандартный суффикс завершения строки — 13 (CR, Carriage Return).
Наконец, стоит учитывать архитектурные особенности конфигурации. В УТ 10.3 логика работы интерфейса кассира (РМК) и обычного документа ЧекККМ реализована в разных модулях. Из-за жестких проверок форматов длины строк, обычный документ ЧекККМ может не инициировать окно ввода марки, если сканер передал данные некорректно (без тега 01 в начале или без разделителей).
Подведем итоги: для успешной работы с марками легкой промышленности от поставщиков убедитесь, что GTIN товара заведен в карточку номенклатуры как штрихкод, сканер переведен в режим COM-порта и передает спецсимволы, а в 1С используется драйвер 1С:NativeApi. Выполнив эти шаги, вы добьетесь корректного списания марок из оборота.