При автоматизации розничной торговли часто возникает ситуация, когда весы с печатью этикеток, такие как ШТРИХ-ПРИНТ М, успешно выгружают товары и печатают этикетки, но при попытке считать такой штрихкод на кассе программа 1С:Управление торговлей 11 выдает ошибку «Штрихкод не найден». В этой статье мы подробно разберем, как устроена логика работы с весовым товаром, проанализируем структуру штрихкода EAN-13 и выясним, какие настройки необходимо выполнить в программе и оборудовании для бесперебойной работы.
Для начала нам необходимо понять, как 1С отличает обычный штучный товар от весового. Для этого используется международный стандарт EAN-13, в котором первые две цифры зарезервированы под внутренние нужды предприятия (обычно это диапазон от 20 до 29). Рассмотрим структуру стандартного весового кода, который формируют весы:
1С, который выгружается в весы.EAN-13 для проверки корректности считывания.Проанализируем пример: если штрихкод выглядит как 240014100500Х, это означает, что префикс равен 24, код товара (SKU) — 00141, а вес — 500 грамм. Если настройки в 1С и в весах не совпадают (например, программа ждет префикс 29, а весы выдают 24), товар найден не будет.
Первым делом проверим настройки в самой программе. Нам нужно убедиться, что 1С знает, по каким правилам «разрезать» считанный штрихкод. Проделаем следующие действия:
2. Если в поле указано значение 0 или другое число, отличное от настроек в весах, это приведет к ошибке поиска.Важно помнить, что код SKU в 1С должен соответствовать номеру PLU (ячейке памяти) в весах. При выгрузке данных через Обмен с подключаемым оборудованием Offline, программа автоматически сопоставляет эти значения.
Если в 1С настройки верны, но поиск по-прежнему не работает, проблема кроется в настройках самих весов. В моделях ШТРИХ-ПРИНТ формат этикетки и штрихкода можно настраивать очень гибко, и иногда там устанавливаются специфические параметры.
Рассмотрим, как проверить настройки весов:
0), это нужно исправить на тот префикс, который задан в 1С (например, 2).EAN-13. Если выбран тип Code128 или произвольный формат, 1С не сможет его разобрать стандартными средствами.Обратим внимание на ситуацию, когда в штрихкоде появляются лишние знаки подчеркивания или другие символы. Это может быть связано с тем, что в формате этикетки под код товара отведено больше знаков, чем реально содержит SKU в 1С. Например, если в весах настроен формат «2+6+4+1», а 1С выгружает 5-значный SKU, весы могут дополнить недостающий знак нулем или подчеркиванием.
Иногда корень проблемы лежит не в весах и не в программе, а в оборудовании на рабочем месте кассира. Выясним причину возможного искажения данных сканером:
Попробуем отсканировать этикетку в обычный «Блокнот». Если мы видим в блокноте строку типа 2400141005009, а в 1С при этом товар не находится, значит, проблема в префиксах внутри 1С. Если же в блокноте мы видим странные символы, например, _200141... или лишние буквы в конце, значит, сканер настроен с некорректными суффиксами или префиксами. Сканер должен передавать только «чистую» цифровую последовательность штрихкода.
Для программистов и системных администраторов полезно будет проанализировать, как именно 1С обрабатывает событие сканирования. В управляемых формах УТ 11 за это обычно отвечает подключаемый модуль оборудования. Мы можем посмотреть на код, который отвечает за разбор штрихкода:
// Пример логики поиска весового товара (упрощенно)
ШтрихкодСканера = "2400141005009";
ПрефиксВесовогоТовара = Константы.ПрефиксКарточекМорскогоТовара.Получить(); // или из настроек SKU
Если Лев(ШтрихкодСканера, 1) = ПрефиксВесовогоТовара Тогда
КодSKU = Сред(ШтрихкодСканера, 2, 5); // Выделяем 5 знаков кода
ВесГрамм = Число(Сред(ШтрихкодСканера, 7, 5)); // Выделяем вес
// Далее идет поиск номенклатуры по SKU
КонецЕсли;
Если при анализе выяснится, что Сред(ШтрихкодСканера, 2, 5) возвращает не тот код, который присвоен товару в справочнике Номенклатура (или в регистре сведений Коды товаров SKU), то поиск вернет пустой результат. Именно поэтому важно строгое соответствие длины полей в весах и в настройках 1С.
Подводя итог, если вы столкнулись с проблемой поиска весового товара, пройдите по следующему чек-листу:
1С (настройки SKU), и в настройках весов (системное меню).1С ожидает увидеть внутри штрихкода.EAN-13 с четким распределением знаков (префикс + код + вес + контрольный разряд).Соблюдение этих правил гарантирует, что при взвешивании товара на весах ШТРИХ-ПРИНТ кассир сможет мгновенно добавить позицию в чек, просто считав штрихкод сканером.