Многие пользователи конфигураций "1С:Управление торговлей 11", "1С:Розница 2.3/3.0", "1С:УНФ" и "1С:Бухгалтерия" сталкиваются с неочевидной проблемой после обновлений или при поступлении новых партий товара. Ситуация выглядит следующим образом: кассир или кладовщик пытается отсканировать код маркировки (DataMatrix) в РМК или документе реализации, сканер издает звуковой сигнал, но в программе ничего не происходит. Ошибок нет, но и товар в табличную часть не добавляется.
В этой статье мы подробно разберем причины такого поведения, проанализируем логику работы программы при поиске товара по штрихкоду и рассмотрим пошаговые решения проблемы.
Прежде чем переходить к решению, давайте убедимся, что мы имеем дело именно с рассматриваемой ситуацией. Характерные признаки, описанные в обсуждении, таковы:
01029...) товар успешно находится и добавляется в чек.01046...) программа никак не реагирует.Такое поведение указывает на то, что проблема кроется не в оборудовании, а в механизме идентификации номенклатуры по содержимому кода маркировки (поможет расширение исправления ошибок сканирования маркировки в 1С).
Это самая распространенная причина "молчания" 1С. Разберем механику процесса поиска.
Код маркировки формата DataMatrix содержит в себе несколько групп данных. Первая и самая важная для поиска товара группа — это GTIN (Global Trade Item Number). Это 14-значный код, который уникально идентифицирует продукцию.
Когда мы сканируем DataMatrix в РМК, алгоритм действия программы следующий:
ШтрихкодыНоменклатуры.Проблема возникает из-за того, что GTIN, зашитый в марку производителем, часто отличается от того штрихкода (EAN-13), который мы привыкли видеть на упаковке или который завели в базу ранее. Особенно это актуально, если мы заводили карточки товаров вручную, игнорируя создание номенклатуры по данным контрагента через ЭДО или автоматическую загрузку штрихкодов номенклатуры из внешних систем — для этого пригодится отчет для контроля заполнения штрихкодов и маркировки.
Нам необходимо явно указать программе, что конкретный GTIN относится к конкретной номенклатуре.
Шаг 1. Выясняем GTIN проблемного товара.
Для этого можно воспользоваться мобильным приложением "Честный Знак" или просто отсканировать DataMatrix в "Блокнот" (если сканер в режиме клавиатуры). Код обычно выглядит так:
010460123456789021...!...
Здесь 01 — это идентификатор применения, а следующие 14 цифр (04601234567890) — это и есть искомый GTIN. Для удобства проверки наличия кодов в базе можно вывести дополнительные колонки в справочнике и подборах номенклатуры — для этого есть обработка вывода штрихкодов в формы списков.
Шаг 2. Добавляем GTIN в 1С.
После выполнения этих действий попробуйте снова отсканировать код маркировки в РМК. Теперь программа должна корректно определить товар, автоматически подставить номенклатуру, характеристику и попросить только подтвердить (или автоматически выбрать) вид упаковки.
Важное замечание: В карточке номенклатуры должны быть прописаны все варианты GTIN, которые могут встретиться: и старые коды для остатков (начинающиеся на 029...), и новые коды от поставщиков. Чтобы не пропустить пустые значения, рекомендуется использовать отчет для контроля заполнения полей маркированного товара. Только так проверка кодов и автоматический подбор будут работать стабильно — для этого есть обработка автоматической проверки и фиксации кодов маркировки.
Даже если GTIN привязан к номенклатуре, системе может не хватать данных о том, какая именно это упаковка (штука, блок, палета). В некоторых конфигурациях (например, Розница или УТ) это может приводить к тому, что окно подбора не открывается.
В системе существует регистр сведений, который часто называется ОписаниеGTINИС (или аналогичный по смыслу в зависимости от конфигурации). Он хранит кэш данных о том, что GTIN 046xxxx соответствует, например, потребительской упаковке с коэффициентом 1.
Вместо ручного заполнения служебных регистров или написания "костылей" (искусственной подмены вида упаковки в коде), рекомендуется использовать штатные механизмы интеграции.
Хотя в обсуждении указано, что "обратное" сканирование работает, стоит исключить технический нюанс, который часто вызывает "молчание" системы именно на DataMatrix.
Код DataMatrix содержит специальные непечатаемые символы-разделители GS (ASCII код 29). Если ваш сканер настроен в режиме "Клавиатура" (Keyboard Wedge) и не передает эти символы, 1С получает "кашу" из цифр и букв, которую не может корректно разобрать на составляющие (GTIN, серийный номер, криптохвост).
'GS' или <FNC1> в логе драйвера).Если при сканировании маркировки 1С "молчит":
Применение этих шагов позволит восстановить нормальную работу РМК и избежать лишних действий по ручному подбору товара перед сканированием марки.