Почему сканер штрихкодов определяется в тесте драйвера, но не передает данные в 1С

Системный администратор 1С v7.7 Торговля и дистрибуция
← На главную

При подключении торгового оборудования к 1С системные администраторы и специалисты по автоматизации нередко сталкиваются с ситуацией: сканер штрихкодов (например, популярный Zebra/Symbol LS2208) подключен через интерфейс RS-232 (или виртуальный COM-порт), успешно проходит опрос в утилите драйвера (АТОЛ ДТО или ScanOPOS), издает звуковой сигнал при считывании, однако при открытии документов или форм подбора в 1С реакция на сканирование полностью отсутствует. Разберем по шагам, почему так происходит и как правильно настроить оборудование для корректной передачи данных.

Причина проблемы: логика обработки внешних событий в 1С

Проанализируем механизм взаимодействия 1С с COM-сканерами. В отличие от режима эмуляции клавиатуры (HID), где символы штрихкода просто печатаются в активное поле ввода, работа через последовательный порт строится на генерации платформенного внешнего события. В 1С 7.7 и 8.x за это отвечает предопределенная процедура:


Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    // Обработка полученного штрихкода
КонецПроцедуры

Драйвер торгового оборудования принимает поток байт из COM-порта в свой внутренний буфер. Чтобы драйвер понял, что передача штрихкода завершена, и вызвал событие в 1С, ему необходим специальный символ-разделитель — суффикс (обычно это символ возврата каретки CR / код #13 или перевод строки CRLF / коды #13 #10). Если сканер штрихкода отправляет только само «тело» кода без суффикса, драйвер держит полученную строку в буфере в ожидании конца пакета данных либо сбрасывает ее по таймауту. В результате в тесте драйвера код может отображаться, но в конфигурацию 1С событие так и не поступает.

Шаг 1. Проверка и программирование суффиксов сканера

Для сканеров Symbol / Zebra LS2208 настройка управляющих символов выполняется путем считывания сервисных штрихкодов из официального руководства пользователя (Product Reference Guide):

  1. Открываем раздел руководства Prefix/Suffix Values (Значения префикса / суффикса).
  2. Активируем опцию передачи суффикса. На заводских настройках сканер передает только считанные данные (<DATA>). Необходимо сосканировать управляющий штрихкод опций сканирования (Scan Options) в режиме <DATA><SUFFIX>.
  3. Считываем настроечный штрихкод Scan Suffix.
  4. С помощью цифровой таблицы кодов в приложении руководства сканируем шестнадцатеричные или десятичные символы суффикса. Для передачи символа Enter (Carriage Return) последовательно считываем цифры 1, 0, 1, 3 (или 7, 0, 1, 3 в зависимости от таблицы кодировки в мануале).

Также для моделей Zebra настройку можно выполнить через специализированную утилиту 123Scan, подключив сканер к ПК по RS-232 или USB-COM.

Шаг 2. Настройка свойств драйвера торгового оборудования

После программирования самого устройства проверим настройки со стороны драйвера:

  1. Заходим в тест драйвера (например, «Тест устройства ввода» в АТОЛ ДТО или параметры ScanOPOS).
  2. Открываем окно поиска оборудования и считываем штрихкод. Убеждаемся, что в конце строки данных появились непечатаемые символы суффикса (#13 или CR).
  3. В настройках параметров порта проверяем скорость (по умолчанию 9600), битность данных (8), четность (None) и стоповые биты (1).
  4. Увеличиваем параметр Таймаут до 100-1500 мс (особенно актуально при работе через терминальный сервер RDP, где сетевые задержки могут разрывать передачу пакета).
  5. Устанавливаем флаги Устройство включено и Включать при старте.

Шаг 3. Особенности настройки в терминальной сессии (RDP)

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

  1. Убедимся, что в свойствах RDP-клиента (mstsc) включено перенаправление последовательных (COM) портов.
  2. Проверим уникальность маппинга. Если несколько пользователей подключаются к терминалу с локальными сканерами на COM1, необходимо перенаправить их на разные виртуальные номера (например, COM10, COM11) через системную команду change port или скрипты входа.
  3. В настройках торгового оборудования 1С параметры подключения должны привязываться к текущему рабочему месту (имени рабочей станции / переменной CLIENTNAME), чтобы настройки одного оператора не перезаписывали параметры других.

Шаг 4. Проверка работы внутри конфигурации

Запустим 1С и протестируем обработку событий:

  1. Убедимся, что в момент сканирования в программе не открыты модальные окна (диалоги предупреждений, модальный подбор), так как платформа 1С 7.7 блокирует обработку внешних событий при наличии активного модального окна.
  2. Открываем журнал документов, складскую обработку или документ реализации и считываем штрихкод товара.
  3. Корректно запрограммированный суффикс приведет к немедленной генерации события и заполнению табличной части.
← На главную