Как настроить сканер штрихкодов для 1С 7.7 при работе через терминальный сервер (RDP)

Системный администратор 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

Работа со сканером штрихкодов в среде 1С:Предприятие 7.7 через терминальный доступ (RDP) — это классическая задача, которая требует понимания механизмов взаимодействия локального оборудования пользователя с удаленным сервером приложений. Основная сложность заключается в том, что база данных физически находится на сервере, а устройство ввода — на рабочем месте продавца. Проанализируем, как обеспечить стабильную передачу данных штрихкода в конфигурацию «Торговля и Склад» и какие модели оборудования лучше использовать.

Выбор режима работы: Эмуляция COM-порта против клавиатурного ввода

При настройке сканера через RDP у нас есть два основных пути. Разберем каждый из них подробнее, чтобы понять, какой метод лучше подходит для ваших условий.

1. Режим эмуляции COM-порта (RS-232). Это профессиональный подход. Сканер подключается к USB-порту, но программно настраивается так, чтобы операционная система видела его как последовательный порт (COM). Рассмотрим преимущества этого метода:

  1. 1С 7.7 может перехватывать данные напрямую через драйвер, не требуя, чтобы фокус ввода (курсор) находился в конкретном поле. Это критически важно для работы продавца, чтобы исключить ошибки при случайном переключении окон.
  2. Механизм Внешнего события в 1С срабатывает мгновенно при считывании кода.
  3. Возможность стабильного проброса порта через стандартные средства RDP клиента (mstsc).

2. Режим эмуляции клавиатуры. Сканер работает как обычное устройство ввода текста. Проанализируем особенности этого режима:

  1. Простота настройки: не нужны специальные драйверы виртуального COM-порта.
  2. Требует обязательного нахождения курсора в поле ввода (например, в поле поиска товара или в табличной части документа).
  3. Для автоматизации в 1С 7.7 часто приходится использовать «старые» драйверы (например, Атол 6.x), которые умеют перехватывать клавиатурный ввод и преобразовывать его во внешнее событие с помощью настройки префиксов и суффиксов.

Техническая реализация проброса портов через RDP

Если мы выбираем работу через виртуальный COM-порт, нам необходимо настроить его трансляцию на сервер. Разберем по шагам, как это сделать:

Во-первых, на компьютере продавца устанавливается драйвер эмуляции COM-порта (обычно идет в комплекте с оборудованием, например, Honeywell или Zebra). После установки в диспетчере устройств должен появиться новый порт, например, COM3.

Во-вторых, в настройках RDP-клиента (подключение к удаленному рабочему столу) необходимо перейти на вкладку «Локальные ресурсы», нажать кнопку «Подробнее» и отметить галочкой пункт «Порты». После этого при установке соединения сервер создаст виртуальную копию вашего COM3.

Выясним причину, по которой стандартный проброс может работать нестабильно. При плохом качестве интернет-соединения пакеты данных могут теряться или приходить с задержкой. В таких случаях рекомендуется использовать специализированное ПО для проброса USB-устройств по сети, например, FabulaTech или решения на базе Serial-over-Ethernet. Они создают более устойчивый канал связи между клиентом и сервером.

Настройка префиксов, суффиксов и параметра Inter-character delay

Одной из самых частых проблем в терминальном режиме является «разрыв» штрихкода. Это происходит, когда RDP-протокол из-за сетевых лагов разбивает последовательность символов на несколько пакетов. 1С 7.7 воспринимает это как ввод нескольких разных коротких кодов.

Посмотрим, как решить эту проблему:

В настройках самого сканера (путем считывания специальных сервисных кодов из инструкции) нужно настроить параметр Inter-character delay (задержка между символами). Увеличение этой задержки на 5–10 миллисекунд позволяет терминальному клиенту более корректно группировать символы штрихкода в один сетевой пакет.

Обязательным условием для 1С 7.7 является настройка суффикса. Обычно это код 13 (CR — Carriage Return). Без суффикса драйвер 1С не поймет, что передача штрихкода завершена, и не вызовет обработку события. Если вы используете эмуляцию клавиатуры, суффикс имитирует нажатие клавиши Enter.

Программная настройка в 1С 7.7

Для взаимодействия с оборудованием в 1С 7.7 традиционно используется библиотека scanopos.dll или платные/бесплатные драйверы Атол. Рассмотрим логику работы в коде конфигурации.

Когда сканер успешно передает данные, в 1С вызывается предопределенная процедура ПриВнешнемСобытии. Разберем пример типовой обработки:


Процедура ПриВнешнемСобытии(Источник, Событие, Данные)
    Если (Источник = "Scanner") И (Событие = "BarCodeValue") Тогда
        // Проанализируем полученный штрихкод
        Штрихкод = СокрЛП(Данные);
        // Вызываем функцию поиска товара
        ОбработатьСканирование(Штрихкод);
    КонецЕсли;
КонецПроцедуры

Важно помнить, что в режиме терминала на стороне сервера должны быть зарегистрированы необходимые компоненты (regsvr32 scanopos.dll). Также стоит учитывать права пользователя на доступ к реестру и портам на серверной ОС.

Выбор модели оборудования: 1D или 2D?

Хотя в исходном запросе указана работа с форматом EAN13, современная торговля диктует новые правила. Разберем ситуацию с маркировкой:

Линейные сканеры, такие как популярный Honeywell 1250g или Eclipse 5145, отлично справляются с EAN13, но они физически не способны считывать коды DataMatrix, которые сейчас требуются для работы с табаком, обувью, молочной продукцией и другими товарами в системе «Честный ЗНАК».

Поэтому, даже для старой базы 1С 7.7, мы рекомендуем выбирать 2D-сканеры, например, Honeywell 1450g или Honeywell 1470g. Они поддерживают все необходимые режимы эмуляции (COM и клавиатура) и позволят вам работать с маркированным товаром без замены оборудования в будущем.

Нюансы операционных систем Windows 10/11

При использовании старых драйверов на современных ОС вы можете столкнуться с проблемой отсутствия цифровой подписи. Для стабильной работы в терминале на клиентской машине иногда требуется настройка групповых политик (gpedit.msc), чтобы разрешить перенаправление USB-устройств. Путь в редакторе политик: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление устройств и ресурсов.

Подведем итог: наиболее стабильным решением для 1С 7.7 в терминале будет использование современного 2D-сканера в режиме эмуляции COM-порта с настроенным суффиксом 13 и пробросом портов через RDP или специализированные утилиты. Это обеспечит надежную работу торговой точки даже при неидеальном канале связи с сервером.

← На главную