Как настроить сканер штрихкода в 1С, если он работает в тесте, но не реагирует в документах?

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

Часто системные администраторы и специалисты 1С сталкиваются с парадоксальной ситуацией: в окне тестирования торгового оборудования сканер штрихкода идеально считывает данные, но при попытке использовать его в документе Реализация товаров и услуг или Поступление товаров и услуг программа никак не реагирует. Разберем детально, почему это происходит и как настроить оборудование для корректной работы.

Различие режимов работы: Клавиатура vs COM-порт

Для начала проанализируем, в каком режиме работает ваше устройство. Существует два основных способа передачи данных от сканера в 1С:

  1. Режим эмуляции клавиатуры (Keyboard Wedge): Сканер работает как обычное устройство ввода. При считывании кода он просто «печатает» цифры в то место, где стоит курсор. В 1С для работы такого сканера часто требуется предварительно нажать кнопку F7 (Поиск по штрихкоду).
  2. Режим эмуляции COM-порта (RS-232): Это более профессиональный метод. Сканер посылает данные напрямую драйверу, который генерирует в 1С так называемое Внешнее событие. В этом случае неважно, где стоит курсор — программа сама перехватит код и найдет товар.

Выясним причину отсутствия реакции: если сканер подключен через COM-порт (или USB-COM), 1С ожидает специального сигнала о завершении передачи данных. Если этого сигнала нет, программа считает, что код еще не дочитан до конца, и не запускает поиск.

Настройка суффиксов — важнейший этап

Рассмотрим подробнее механизм «суффикса». Суффикс — это специальный невидимый символ, который сканер добавляет в конце штрихкода. Обычно это CR (возврат каретки, код 13) или LF (перевод строки, код 10).

Если в тесте устройства вы видите код, но в документе ничего не происходит, проанализируем настройки драйвера:

  1. Зайдем в настройки торгового оборудования в 1С.
  2. Найдем параметр Суффикс.
  3. Убедимся, что там указано значение 13 (или #13).
  4. Критически важно: сам физический сканер должен быть запрограммирован на передачу этого суффикса. Для этого нужно найти в инструкции к сканеру (например, Argox или Honeywell) управляющий штрихкод с названием «Add Suffix CR» и считать его.

Проверка программной обработки события

Если с суффиксами всё в порядке, но реакции всё равно нет, нам необходимо убедиться, что форма документа «слушает» сканер. В старых редакциях, таких как Управление торговлей 10.3, за это отвечает процедура ВнешнееСобытие в модуле формы.

Разберем пример кода, который должен присутствовать в форме документа:


Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Не ВводДоступен() Тогда
        Возврат;
    КонецЕсли;
    
    // Обработка сигнала от драйвера сканера
    ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
КонецПроцедуры

Проанализируем эту ситуацию с точки зрения отладки: если вы программист, поставьте точку останова на начало этой процедуры. Если при сканировании программа не «заходит» в этот код, значит, драйвер не передал событие в 1С. Если заходит, но ничего не находит — проблема в обработке Данные (возможно, код передается с лишними символами или пробелами).

Проблемы с драйверами (АТОЛ и ScanOPOS)

Выясним ситуацию с программным обеспечением. Существует два популярных драйвера:

Если вы используете АТОЛ, попробуйте найти старую бесплатную версию (например, 6.5.3) или проверьте, не стоит ли у вас демо-режим, который блокирует быструю работу в документах.

Особенности работы через терминальный сервер (RDP)

Если ваша 1С запущена на удаленном сервере, а сканер подключен к локальному компьютеру, рассмотрим следующие шаги:

  1. В настройках RDP-подключения (вкладка «Локальные ресурсы») обязательно должна стоять галочка Порты.
  2. На сервере в диспетчере устройств должен появиться проброшенный порт. Учтите, что его номер может отличаться от локального (был COM1, стал COM3).
  3. В 1С нужно указывать именно тот номер порта, который виден в терминальной сессии.

Специфика беспроводных моделей (на примере Argox AS-8020CL)

Проанализируем работу беспроводного оборудования. Модели типа Argox AS-8020CL имеют базу, которая подключается к ПК.

Важные моменты:

Монопольный захват порта

Посмотрим на еще одну частую ошибку. COM-порт — это устройство, к которому одновременно может обращаться только одна программа. Если у вас запущена утилита Тест драйвера или другое окно настройки, 1С не сможет получить данные от сканера, так как порт будет «занят». Всегда закрывайте тестовые утилиты перед проверкой работы в документах 1С.

Также помните, что в Управлении торговлей 10.3 торговое оборудование привязывается к конкретному рабочему месту (имени компьютера). Если вы перенесли сканер на другой ПК, настройку оборудования нужно создать заново для нового рабочего места.

← На главную