При использовании конфигураций «1С:Предприятие» (например, «1С:Управление торговлей 11») пользователи часто сталкиваются с ситуацией, когда после обновления драйверов торгового оборудования (в частности, драйверов ККТ АТОЛ) считывание штрихкода происходит с ощутимой задержкой в 10–20 секунд. Проанализируем причину возникновения этой проблемы и разберем способы ее устранения.
Выясним причину задержки: пауза длительностью около 20 секунд заложена разработчиками драйверов торгового оборудования на программном уровне. Когда компонента работы с устройствами ввода запускается без приобретенной коммерческой лицензии или специализированного ключа защиты, она автоматически начинает работать в демонстрационном режиме.
При установке или обновлении нового дистрибутива драйвера ККТ АТОЛ в операционной системе по умолчанию регистрируется демо-компонента устройств ввода. Она перехватывает обработку событий сканера штрихкодов и при каждом считывании делает искусственную задержку.
Наиболее эффективным и простым решением является полный отказ от драйвера устройств ввода АТОЛ в пользу штатной компоненты 1С. Рассмотрим настройку оборудования в двух основных режимах работы сканера.
Вариант А. Настройка сканера в режиме виртуального COM-порта (USB-Serial / VCOM)
Сканеры штрихкода и создадим новый экземпляр.1С:Сканеры штрихкода (технология NativeApi).Вариант Б. Настройка сканера в режиме эмуляции клавиатуры
1С:Сканеры штрихкода.Клавиатура.#13 (соответствует клавише Enter / CR).Если требуется сохранить использование старого драйвера устройств ввода от АТОЛ, выполним правильную последовательность переустановки компонентов:
Драйвер устройств ввода.regsvr32 /u "C:\Program Files\ATOL\Drivers\bin\dto_Input_v8.dll"
Рассмотрим ограничения и особенности, которые необходимо учитывать при выборе метода решения:
1. Поддержка маркировки (Честный ЗНАК, DataMatrix): Устаревшие сторонние драйверы прошлых лет не умеют корректно обрабатывать спецсимволы-разделители (в частности, ASCII 29 / GS / FNC1) в двухмерных штрихкодах DataMatrix. Для корректной работы с маркированными товарами настоятельно рекомендуется использовать актуальный драйвер 1С:Сканеры штрихкода.
2. Разрядность клиента 1С (32-bit и 64-bit): Старые драйверы АТОЛ распространялись только в 32-разрядном исполнении (x86). При запуске 64-битного клиента «1С:Предприятие» старая 32-битная COM-компонента загружаться не будет. В этом случае требуется либо переходить на 32-битный клиент 1С, либо использовать NativeApi-драйвер 1С:Сканеры штрихкода, имеющий 64-битную сборку.
3. Работа через RDP (удаленный рабочий стол): При сканировании в режиме клавиатуры на RDP-сервере передача символов штрихкода происходит поочередно. При нестабильном интернет-канале или высоком пинге это вызывает задержки ввода. Перевод сканера в режим виртуального COM-порта передает весь штрихкод единым пакетом через внешнее событие 1С, устраняя подвисания.