Многие пользователи конфигураций "1С:Управление торговлей 11", "1С:Розница 2.3/3.0", "1С:УНФ" и "1С:Бухгалтерия" сталкиваются с неочевидной проблемой после обновлений или при поступлении новых партий товара. Ситуация выглядит следующим образом: кассир или кладовщик пытается отсканировать код маркировки (DataMatrix) в РМК или документе реализации, сканер издает звуковой сигнал, но в программе ничего не происходит. Ошибок нет, но и товар в табличную часть не добавляется.
В этой статье мы подробно разберем причины такого поведения, проанализируем логику работы программы при поиске товара по штрихкоду и рассмотрим пошаговые решения проблемы.
Прежде чем переходить к решению, давайте убедимся, что мы имеем дело именно с рассматриваемой ситуацией. Характерные признаки, описанные в обсуждении, таковы:
01029...) товар успешно находится и добавляется в чек.01046...) программа никак не реагирует.Такое поведение указывает на то, что проблема кроется не в оборудовании, а в механизме идентификации номенклатуры по содержимому кода маркировки. В некоторых случаях для удобства работы в списках документов помогает поиск номенклатуры по отсканированному штрихкоду, но базовая логика требует исправления данных.
Это самая распространенная причина "молчания" 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' или в логе драйвера).Если при сканировании маркировки 1С "молчит":
Применение этих шагов позволит восстановить нормальную работу РМК и избежать лишних действий по ручному подбору товара перед сканированием марки.