Работа со сканерами штрихкода в терминальных средах часто вызывает сложности у администраторов и разработчиков 1С. Рассмотрим пошагово, как выявить и устранить проблему, если 1С 7.7 «видит» драйвер, но не реагирует на ОбработкаВнешнегоСобытия.
Первым делом необходимо убедиться, что ваш локальный COM-порт корректно пробрасывается в удаленную сессию. Откройте командную строку на сервере и введите команду change port. Вы должны увидеть в списке портов ваш виртуальный COM-порт. Если порта в списке нет, проверьте настройки RDP-клиента на локальном компьютере: на вкладке «Локальные ресурсы» должен быть включен пункт «Порты».
Сравните параметры виртуального порта на сервере с теми, что установлены локально. Важно, чтобы совпадали следующие значения:
Если порт проброшен, но данные не поступают, попробуйте воспользоваться любой терминальной программой (например, PuTTY или HyperTerminal) на сервере, чтобы увидеть, приходят ли вообще какие-либо символы от сканера.
Частая проблема — 1С не успевает обработать входящий сигнал из-за особенностей сетевой задержки в RDP. Даже если драйвер «видит» считывание, событие не доходит до 1С. В этом случае необходимо увеличить таймаут в настройках драйвера (например, драйвер Атол). Установите значение таймаута в 500 мс или выше. Это позволит системе «дождаться» завершения передачи пакета данных и корректно вызвать ОбработкаВнешнегоСобытия.
Если работа через COM-порт остается нестабильной, попробуйте перевести сканер в режим эмуляции клавиатуры (HID). В этом случае процесс выглядит следующим образом:
#13 (код клавиши Enter).Для локализации проблемы на стороне кода 1С, выполните следующие действия:
ОбработкаВнешнегоСобытия в глобальном модуле или модуле формы.Scanopos.dll.Scanopos.dll зарегистрирована в системе с правами администратора через regsvr32.Совет: Если вы используете старые версии драйверов, попробуйте найти более ранние сборки, которые менее чувствительны к задержкам и лучше работают с 1С 7.7 в терминальных средах. Старайтесь избегать использования портов с высокими номерами (выше COM10), так как некоторые компоненты 1С 7.7 могут некорректно их обрабатывать.
Применяя эти методы по очереди, вы сможете локализовать «узкое место» и настроить стабильную работу сканера в вашей учетной системе.