Как подключить сканер штрихкодов в 1С по RDP, если он определяется только как клавиатура?

Системный администратор 1С v8.3 (Управляемые формы) Торговля и дистрибуция
← На главную

При организации рабочих мест для складов или магазинов часто возникает ситуация, когда мы подключаем беспроводной сканер штрихкодов (например, модели линейки Mercury или Mertech) по USB, и система распознает его исключительно как обычную клавиатуру. Ситуация усложняется, если работа с базой 1С ведется через удаленный рабочий стол (RDP). По умолчанию сканер просто вставляет цифры в активное поле, а в 1С для поиска номенклатуры требуется вызов специального окна штрихкода (часто по нажатию клавиши F7).

Давайте подробно разберем, почему возникает такая проблема, проанализируем доступные варианты решения и по шагам настроим наше торговое оборудование для корректной работы с платформой 1С без лишних ручных действий пользователя.

Разберем суть проблемы: режим клавиатуры и RDP

Когда сканер работает в режиме USB-HID (эмуляция клавиатуры), он просто очень быстро «нажимает» клавиши с цифрами штрихкода. Если мы работаем через RDP, этот поток нажатий передается по сети. В результате мы можем столкнуться со следующими проблемами:

  1. Символы могут теряться из-за задержек в сети.
  2. Если на удаленном сервере стоит русская раскладка, вместо английских букв или цифр могут печататься спецсимволы.
  3. 1С не понимает, что это штрихкод, и расценивает это как ручной ввод пользователя, требуя предварительно нажать F7 для активации поиска.

Давайте посмотрим, как мы можем решить эту задачу тремя разными способами, начиная от аппаратной настройки самого сканера и заканчивая правильной конфигурацией драйверов в 1С.

Способ 1: Аппаратное программирование префикса F7 на сканере

Если производитель или техническая поддержка утверждают, что устройство может работать только как клавиатура, мы можем заставить сам сканер нажимать клавишу F7 перед отправкой цифр штрихкода. Важно понимать: сканер должен нажать эту кнопку аппаратно, настройки внутри 1С для этого недостаточны.

Для этого нам понадобится полная инструкция по программированию (часто она называется расширенным руководством пользователя или таблицей штрихкодов для настройки). Краткой инструкции из коробки обычно не хватает. Выполним следующие шаги:

  1. Найдем в инструкции служебный штрихкод для входа в режим программирования. Обычно он называется Enter Setup. Отсканируем его.
  2. Найдем раздел, отвечающий за префиксы, и отсканируем управляющий код Set Custom Prefix (Установить пользовательский префикс).
  3. Далее нам нужно ввести шестнадцатеричный код клавиши F7 согласно таблице ASCII, которая приведена в конце инструкции. Отсканируем соответствующие числовые штрихкоды.
  4. Сохраним настройки, отсканировав завершающий код Confirm или Exit Setup.

Теперь проанализируем результат: при каждом сканировании устройство будет сначала посылать сигнал нажатия клавиши F7, открывая окно поиска в 1С, затем быстро вводить сам штрихкод и (если настроен суффикс) нажимать Enter для подтверждения.

Способ 2: Перевод сканера в режим эмуляции COM-порта (Рекомендуемый для RDP)

Рассмотрим более надежный вариант. Несмотря на то что по умолчанию устройство определяется как клавиатура, большинство современных сканеров (включая линейку Mercury CL) поддерживают программное изменение интерфейса на виртуальный COM-порт.

Для работы через RDP использование COM-порта является стандартом, так как этот порт легко "пробросить" в удаленную сессию, и платформа 1С сможет получать данные напрямую через ВнешнееСобытие, минуя любые проблемы с раскладкой клавиатуры или пропущенными символами.

Разберем по шагам, как это реализовать:

  1. Скачайте и установите драйвер виртуального COM-порта (Virtual COM Driver) с официального сайта производителя сканера на ваш локальный компьютер.
  2. Возьмите полную инструкцию к сканеру и найдите раздел "Выбор интерфейса" (Interface Selection).
  3. Отсканируйте штрихкод перевода в режим USB-COM или Virtual COM. Устройство перезагрузится, и в Диспетчере устройств Windows появится новый COM-порт.
  4. В настройках подключения к удаленному рабочему столу (вкладка "Локальные ресурсы") установите галочку "Порты", чтобы пробросить созданный COM-порт на сервер.
  5. Откройте 1С на сервере, зайдите в раздел настройки подключаемого оборудования. Добавьте новый сканер, выберите драйвер (например, стандартный от 1С или АТОЛ) и укажите проброшенный номер COM-порта.

При таком подключении нажимать F7 не требуется вообще. 1С перехватывает событие от драйвера аппаратно в фоновом режиме.

Способ 3: Настройка драйвера 1С для работы с клавиатурой (Без F7)

Если перевести сканер в режим COM-порта по каким-то причинам невозможно, выясним, как правильно настроить 1С для работы с режимом клавиатуры, чтобы избавиться от необходимости ручного вызова поиска.

Современные версии библиотек подключаемого оборудования 1С умеют работать со сканерами "в разрыв клавиатуры". Механизм работы следующий: драйвер постоянно анализирует скорость ввода символов с клавиатуры. Если символы поступают с неестественно высокой для человека скоростью (менее 10-20 миллисекунд между нажатиями), драйвер понимает, что работает сканер, перехватывает этот поток и сам генерирует событие в 1С.

Для корректной работы этого механизма критически важно наличие суффикса. Суффикс — это символ, который сканер посылает в самом конце штрихкода. Обычно это #13 (код возврата каретки, CR или клавиша Enter).

Проанализируем шаги по настройке в 1С:

  1. В программе 1С перейдите в справочник "Подключаемое оборудование" и создайте новый элемент "Сканеры штрихкода".
  2. Выберите обработчик драйвера, например, 1С:Сканеры штрихкода (NativeApi).
  3. Нажмите "Настроить" и в параметрах порта выберите Клавиатура (или Разрыв клавиатуры).
  4. Убедитесь, что в поле "Суффикс" указано значение 13 (или CR). Если сканер после сброса к заводским настройкам не посылает Enter, обязательно настройте этот суффикс аппаратно с помощью инструкции к сканеру.
  5. Проведите тест устройства в 1С: если все настроено верно, штрихкод появится в окне тестирования, а в конце будет зафиксирован суффикс (перевод строки).

Подведем итог: попытка решить проблему вводом префикса непосредственно в драйвере 1С часто приводит к путанице. Префикс F7 необходимо программировать на самом устройстве. Однако наилучшим подходом для работы в среде RDP всегда является перевод сканера в режим эмуляции виртуального COM-порта или правильная настройка суффиксов при работе через порт "Клавиатура" с использованием штатных механизмов перехвата драйвера 1С.

← На главную