Как настроить корректное распознавание весовых штрихкодов в 1С:Управление торговлей 11 при работе с весами ШТРИХ-ПРИНТ?

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

При автоматизации розничной торговли часто возникает ситуация, когда весы с печатью этикеток, такие как ШТРИХ-ПРИНТ М, успешно выгружают товары и печатают этикетки, но при попытке считать такой штрихкод на кассе программа 1С:Управление торговлей 11 выдает ошибку «Штрихкод не найден». В этой статье мы подробно разберем, как устроена логика работы с весовым товаром, проанализируем структуру штрихкода EAN-13 и выясним, какие настройки необходимо выполнить в программе и оборудовании для бесперебойной работы.

Разберем структуру весового штрихкода

Для начала нам необходимо понять, как 1С отличает обычный штучный товар от весового. Для этого используется международный стандарт EAN-13, в котором первые две цифры зарезервированы под внутренние нужды предприятия (обычно это диапазон от 20 до 29). Рассмотрим структуру стандартного весового кода, который формируют весы:

  1. Префикс (2 символа): Например, «20» или «24». Он сигнализирует программе, что далее следует не просто код, а комбинация артикула и веса.
  2. Код товара/SKU (5 или 6 символов): Это уникальный идентификатор товара в базе 1С, который выгружается в весы.
  3. Вес товара (5 или 4 символа): Значение веса в граммах.
  4. Контрольный символ (1 символ): Последняя цифра, которая вычисляется по алгоритму EAN-13 для проверки корректности считывания.

Проанализируем пример: если штрихкод выглядит как 240014100500Х, это означает, что префикс равен 24, код товара (SKU) — 00141, а вес — 500 грамм. Если настройки в 1С и в весах не совпадают (например, программа ждет префикс 29, а весы выдают 24), товар найден не будет.

Шаг 1: Настройка параметров SKU в 1С:Управление торговлей 11

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

  1. Перейдем в раздел НСИ и администрирование — Настройка НСИ и разделов — Номенклатура.
  2. Найдем подраздел Настройки SKU.
  3. Убедимся, что включена опция использования весовых штрихкодов.
  4. Проверим Префикс весового товара. Чаще всего используется цифра 2. Если в поле указано значение 0 или другое число, отличное от настроек в весах, это приведет к ошибке поиска.

Важно помнить, что код SKU в 1С должен соответствовать номеру PLU (ячейке памяти) в весах. При выгрузке данных через Обмен с подключаемым оборудованием Offline, программа автоматически сопоставляет эти значения.

Шаг 2: Настройка формата штрихкода в весах ШТРИХ-ПРИНТ

Если в 1С настройки верны, но поиск по-прежнему не работает, проблема кроется в настройках самих весов. В моделях ШТРИХ-ПРИНТ формат этикетки и штрихкода можно настраивать очень гибко, и иногда там устанавливаются специфические параметры.

Рассмотрим, как проверить настройки весов:

  1. Войдем в системное меню весов (обычно через ввод пароля администратора).
  2. Найдем раздел Параметры штрихкода или Префиксы.
  3. Проверим значение Локального префикса. Если автор темы столкнулся с тем, что весы подставляют лишние символы или неверный префикс (например, 0), это нужно исправить на тот префикс, который задан в 1С (например, 2).
  4. Используем утилиту «Редактор этикеток». В ней нужно убедиться, что для поля «Штрихкод» выбран тип EAN-13. Если выбран тип Code128 или произвольный формат, 1С не сможет его разобрать стандартными средствами.

Обратим внимание на ситуацию, когда в штрихкоде появляются лишние знаки подчеркивания или другие символы. Это может быть связано с тем, что в формате этикетки под код товара отведено больше знаков, чем реально содержит SKU в 1С. Например, если в весах настроен формат «2+6+4+1», а 1С выгружает 5-значный SKU, весы могут дополнить недостающий знак нулем или подчеркиванием.

Шаг 3: Проверка сканера штрихкодов

Иногда корень проблемы лежит не в весах и не в программе, а в оборудовании на рабочем месте кассира. Выясним причину возможного искажения данных сканером:

Попробуем отсканировать этикетку в обычный «Блокнот». Если мы видим в блокноте строку типа 2400141005009, а в 1С при этом товар не находится, значит, проблема в префиксах внутри 1С. Если же в блокноте мы видим странные символы, например, _200141... или лишние буквы в конце, значит, сканер настроен с некорректными суффиксами или префиксами. Сканер должен передавать только «чистую» цифровую последовательность штрихкода.

Методы отладки в 1С

Для программистов и системных администраторов полезно будет проанализировать, как именно 1С обрабатывает событие сканирования. В управляемых формах УТ 11 за это обычно отвечает подключаемый модуль оборудования. Мы можем посмотреть на код, который отвечает за разбор штрихкода:


// Пример логики поиска весового товара (упрощенно)
ШтрихкодСканера = "2400141005009";
ПрефиксВесовогоТовара = Константы.ПрефиксКарточекМорскогоТовара.Получить(); // или из настроек SKU

Если Лев(ШтрихкодСканера, 1) = ПрефиксВесовогоТовара Тогда
    КодSKU = Сред(ШтрихкодСканера, 2, 5); // Выделяем 5 знаков кода
    ВесГрамм = Число(Сред(ШтрихкодСканера, 7, 5)); // Выделяем вес
    // Далее идет поиск номенклатуры по SKU
КонецЕсли;

Если при анализе выяснится, что Сред(ШтрихкодСканера, 2, 5) возвращает не тот код, который присвоен товару в справочнике Номенклатура (или в регистре сведений Коды товаров SKU), то поиск вернет пустой результат. Именно поэтому важно строгое соответствие длины полей в весах и в настройках 1С.

Итоги и рекомендации

Подводя итог, если вы столкнулись с проблемой поиска весового товара, пройдите по следующему чек-листу:

Соблюдение этих правил гарантирует, что при взвешивании товара на весах ШТРИХ-ПРИНТ кассир сможет мгновенно добавить позицию в чек, просто считав штрихкод сканером.

← На главную