Часто системные администраторы и специалисты по автоматизации сталкиваются с парадоксальной ситуацией: в настройках «Подключаемого оборудования» 1С сканер штрих-кода успешно проходит тест, отображает считанный код и суффиксы, но при попытке сканирования в реальном документе (например, в «Чек ККМ» или «Реализация товаров и услуг») ничего не происходит. Рассмотрим подробно, почему так происходит, и разберем по шагам, как привести систему в рабочее состояние.
Проанализируем ситуацию, описанную в теме: на Windows 11 сканер «взлетел» сразу, а на Windows 7 возникли сложности. Основная причина кроется в подсистеме драйверов. Для работы сканера в режиме эмуляции COM-порта (VCP — Virtual COM Port) требуются специфические драйверы от производителя (Honeywell, Zebra, Datalogic и другие).
В современных операционных системах, таких как Windows 10 и 11, многие драйверы стандарта CDC (Communication Device Class) устанавливаются автоматически. В старых версиях (Windows 7) системе часто требуется ручное вмешательство. Разберем основные моменты:
Выясним причину, по которой 1С игнорирует сканирование в документе. Когда сканер настроен как «1С:Сканеры штрихкода (NativeApi)» или через старый COM-объект, программа ожидает так называемое «Внешнее событие». Это программный прерывающий сигнал, который заставляет 1С вызвать процедуру ВнешнееСобытие в модуле формы или в общем модуле.
Если в тесте всё работает, но в документе — нет, это означает, что 1С не смогла «подписаться» на события этого порта при открытии формы. Причины могут быть следующими:
Подключить() для устройства. Если в этот момент порт занят или драйвер работает некорректно, событие не будет зарегистрировано.Для понимания того, как 1С обрабатывает данные, рассмотрим пример логики, которая должна срабатывать в конфигурации:
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник = "СканерШтрихкода" Тогда
// Обработка полученных данных штрихкода
Штрихкод = СокрЛП(Данные);
ОбработатьШтрихкод(Штрихкод);
КонецЕсли;
КонецПроцедуры
Одной из самых частых ошибок является некорректная настройка суффикса. Суффикс — это невидимый символ, который сканер отправляет сразу после штрих-кода, чтобы дать программе понять: «ввод данных завершен». Рассмотрим наиболее популярные варианты: CR (код 13, возврат каретки) и LF (код 10, перевод строки).
В настройках «Подключаемого оборудования» 1С необходимо убедиться, что указанный суффикс строго соответствует тому, что запрограммировано в самом сканере. Проанализируем ситуацию:
CR (13), а в 1С настроено CR + LF (13 и 10), 1С будет бесконечно ждать символ 10 и не вызовет событие обработки штрих-кода.Важно: Для работы в 1С в режиме COM-порта суффикс обязателен. Без него драйвер не поймет, где заканчивается один штрих-код и начинается другой.
Разберем различия в поведении сканера, которые упомянул автор темы. В режиме клавиатуры сканер просто «печатает» цифры в то поле, где стоит курсор. Именно поэтому первое нажатие открывает окно поиска (так как 1С реагирует на нажатие цифр), а второе — вносит товар. Это крайне неудобный режим для потоковой работы.
При использовании режима COM-порта (NativeApi) курсор может находиться в любом месте формы или его может не быть вовсе — 1С перехватит событие в фоновом режиме и добавит товар в таблицу. Это и есть «режим как в магазине».
Иногда сканер перестает работать спустя некоторое время после начала смены. Проанализируем настройки Windows. По умолчанию в системе включена функция «Разрешить отключение этого устройства для экономии энергии» для USB-концентраторов.
Рекомендуем выполнить следующие действия:
Если ваша 1С запущена на сервере, а сканер подключен к локальному компьютеру, проблема может быть в пробросе портов. Выясним основные правила настройки RDP:
COM3 на сервере может превратиться в COM15. Необходимо зайти в настройки оборудования в 1С именно под тем сеансом пользователя, который будет работать, и выбрать актуальный номер порта.Чтобы окончательно решить проблему, пройдемся по шагам нашего чек-листа:
1C:Barcode Scanner Driver или используется NativeApi.'CR' или 'LF'.13 или 13, 10.Соблюдение этих правил позволит вам избежать «магии» и «камлания с бубном», обеспечив стабильную работу торгового оборудования.