Почему сканер штрихкода очищает поле ввода и преобразует код в шаблон с подчеркиваниями в 1С?

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

При подключении сканера штрихкодов к конфигурациям на платформе 1С:Предприятие (в частности, в 1С:Управление торговлей 11) через режим эмуляции COM-порта в терминальной сессии RDP нередко возникают две взаимосвязанные проблемы. Во-первых, при сканировании штрихкод мгновенно появляется в строке ввода и тут же стирается. Во-вторых, после успешного сохранения штучного штрихкода документ реализации при повторном сканировании может выдавать окно «Найден новый штрихкод», отображая вместо цифр маску вида 2_7005300000_. Разберем по шагам причины такого поведения оборудования и системы, а также рассмотрим способы их полного устранения.

Проблема 1: Штрихкод появляется в поле и сразу исчезает

Проанализируем механику возникновения этой ошибки. Когда сканер (например, Honeywell Voyager 1250g) переведен в режим эмуляции последовательного интерфейса (Virtual COM Port) и проброшен через сеанс удаленного рабочего стола на сервер, стандартная обработка внешнего события в 1С может конфликтовать с потоком данных.

В большинстве случаев проблема кроется в использовании устаревшего драйвера «1С:Сканеры штрихкода (COM)» и передаче суффиксов окончания ввода (возврат каретки CR или перевод строки LF). Данные попадают в текстовое поле карточки номенклатуры как клавиатурный ввод, после чего срабатывает внутреннее событие завершения ввода с отменой незафиксированного значения из-за рассинхронизации задержек по RDP-каналу.

Рассмотрим порядок решения проблемы с драйвером:

  1. Откроем раздел НСИ и администрирование, перейдем в пункт РКП и оборудование и выберем Подключаемое оборудование.
  2. Найдем в списке наш сканер штрихкодов и откроем карточку его настроек.
  3. Изменим драйвер оборудования: вместо стандартного COM-драйвера выберем сертифицированный драйвер Сканкод:Сканеры штрихкода либо современный 1С:Сканер штрихкода (NativeApi). Драйверы на базе NativeApi гораздо стабильнее обрабатывают сетевые тайминги проброшенных COM-портов и не вызывают дублирования клавиатурных событий.
  4. Выполним повторную настройку параметров связи: укажем номер виртуального COM-порта (например, COM3), скорость передачи данных (обычно 9600 или 115200) и корректный суффикс (значение 13 — возврат каретки).
  5. Нажмем кнопку Тест устройства, отсканируем любой тестовый код и убедимся, что данные передаются стабильно без очистки формы.

Проблема 2: Код трансформируется в маску вида 2_7005300000_

Выясним причину странного поведения программы, когда считанный код 2470053002159 превращается в строку с подчеркиваниями и нулями. В международных стандартах штрихового кодирования EAN-13 диапазон префиксов от 20 до 29 зарезервирован под внутреннее использование предприятиями. Именно этот диапазон в 1С по умолчанию назначен для фасованного весового товара.

В конфигурациях 1С логика работы с весовым кодом построена на шаблонах: начальная цифра 2 определяет признак внутреннего кода, следующая цифра является префиксом весового товара или узла весов, затем следует код товара (PLU), а последние разряды отдаются под вес упаковки и контрольный символ. При считывании штрихкода, начинающегося на 24, система расценивает цифру 4 как префикс весового товара, отсекает последние цифры как вес (в данном примере 00215 — 0.215 кг) и рассчитывает внутреннюю маску 2_7005300000_. Так как штучный товар был записан с полным статическим кодом, 1С не находит совпадения по маске и сообщает о неизвестном штрихкоде.

Рассмотрим два варианта решения в зависимости от характера товара.

Вариант А: Товар является штучным, но имеет заводской код на цифру 2

Если поставщик маркирует штучный товар собственным кодом из диапазона 20–29, необходимо скорректировать настройки префиксов в 1С, чтобы программа не пыталась выделять из него вес:

  1. Перейдем в раздел НСИ и администрирование → Номенклатура.
  2. Развернем группу Настройки создания номенклатуры и откроем Настройка префиксов внутренних штрихкодов EAN 13.
  3. Проверим, какие цифры заданы в поле Префикс весового товара. Если там указана цифра 4 или префикс пересекается с кодами поставщика, удалим или изменим эту настройку, выделив под весовую продукцию другой свободный префикс (например, только 20 или 28).
  4. Сохраним настройки. Теперь при считывании штрихкод будет определяться строго целиком как обычный штучный EAN-13.

Вариант Б: Товар действительно является весовым

Если продукция продается на вес, регистрировать полный штрихкод с этикетки конкретной фасовки в карточку номенклатуры нельзя, так как вес каждой упаковки уникален. Настроим весовой учет правильно:

  1. В карточке номенклатуры укажем признак Весовой и единицу хранения — килограммы (кг).
  2. Настройку шаблонов весовых кодов выполним через механизм обмена с весами с печатью этикеток (раздел Продажи или Подключаемое оборудование → Весы с печатью этикеток).
  3. Присвоим товару код PLU в базе. Программа автоматически сгенерирует правильную маску шаблона.
  4. При считывании такой этикетки в расходной накладной или рабочем месте кассира 1С мгновенно определит номенклатуру по ее коду и автоматически подставит считанное значение веса в колонку количества.
← На главную