При подключении торгового оборудования к 1С в терминальном режиме (RDP) часто возникает ситуация, когда физический сканер подключен к локальному компьютеру, драйвер на сервере установлен, однако в форме параметров торгового оборудования статус драйвера отображается как «Не установлен», а поле версии остается пустым. Рассмотрим причины этой проблемы и пошагово разберем способы ее решения.
Проанализируем техническую сторону взаимодействия 1С с внешними компонентами. Большинство драйверов торгового оборудования (включая библиотеки АТОЛ Scaner1C.dll / DTO.dll и стандартные компоненты 1С ScanOPOS.dll) представляют собой 32-битные COM-объекты. Если на терминальном сервере запущен 64-битный клиент платформы 1С:Предприятие, он не сможет загрузить 32-битную внешнюю компоненту в свое адресное пространство. В результате 1С сообщает, что драйвер не установлен.
Разберем действия для исправления:
Даже если дистрибутив драйвера был установлен администратором, библиотека внешнего события может быть не зарегистрирована в системном реестре Windows для всех пользователей.
Выполним ручную регистрацию компоненты в командной строке:
cmd.exe от имени администратора.SysWOW64:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\ATOL\Drivers\Bin\Scaner1C.dll"
При работе сканера в режиме эмуляции COM-порта физическое устройство подключено к порту локального рабочего места (например, COM3). Чтобы терминальный сервер увидел этот порт, его необходимо пробросить через RDP-сессию.
Разберем настройку по шагам:
change port /query
Команда выведет таблицу перенаправления портов, например:
COM1 = \Device\RdpDrPort\;COM3:2\tsclient\COM3. Это означает, что локальный порт COM3 доступен в текущей сессии сервера как COM1 (номера портов на клиенте и сервере могут не совпадать).Если проброс виртуальных COM-портов через RDP работает нестабильно или требует постоянного контроля администратора, рассмотрим простой альтернативный способ — перевод сканера в режим разрыва клавиатуры.
Enter или CR).