Как подключить терминал сбора данных (ТСД) Motorola Symbol MC9100 к 1С:ERP через RDP?

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

Подключение стационарных сканеров к 1С обычно не вызывает трудностей, однако работа с мобильными терминалами сбора данных (ТСД), особенно такими классическими моделями, как Motorola Symbol MC9100 под управлением Windows CE или Windows Mobile, имеет свои нюансы. Основная сложность заключается в том, что при работе через RDP (Remote Desktop Protocol) сервер не видит сканирующее устройство как прямое периферийное оборудование. В этой статье мы подробно разберем, как настроить стабильную передачу штрихкодов из терминала в 1С:ERP, используя стандартные средства и специализированные утилиты.

Способ 1. Использование режима эмуляции клавиатуры через DataWedge

Разберем наиболее распространенный и простой в реализации метод. Большинство ТСД Motorola (Zebra) поставляются с предустановленной утилитой DataWedge. Эта программа перехватывает данные, полученные с лазерного сканера, и «вбрасывает» их в буфер клавиатуры. Для 1С это выглядит так, будто пользователь очень быстро набрал цифры штрихкода на клавиатуре.

Для реализации этого метода выполним следующие шаги:

  1. Запуск DataWedge на ТСД: Найдите в меню «Пуск» или в программных файлах терминала приложение DataWedge. Запустите его. Убедитесь, что в системном трее (рядом с часами) появился значок программы.
  2. Настройка автозапуска: Проанализируем важность постоянной работы службы. Чтобы складскому сотруднику не приходилось запускать утилиту вручную после каждой перезагрузки, обязательно добавьте ярлык DataWedge в папку \Windows\StartUp.
  3. Настройка профиля сканирования: В параметрах DataWedge (раздел Basic Configuration) выберите Keyboard Output. Убедитесь, что опция Enabled включена.

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

Способ 2. Оптимизация передачи данных и настройка суффиксов

Часто пользователи жалуются, что при сканировании штрихкод передается не полностью или 1С не реагирует на него автоматически. Выясним причину: при работе через RDP сетевые задержки могут «проглатывать» символы. Чтобы этого избежать, настроим параметры передачи подробнее.

Настройка задержки (Inter-character delay):
В настройках DataWedge найдите пункт Keylight / Keyboard Buffer. Установите параметр Inter-character delay в значение 5–10 мс. Это создаст микропаузу между отправкой каждого символа, что позволит RDP-клиенту гарантированно доставить каждый знак на сервер без потерь.

Использование суффикса (Enter):
Чтобы после сканирования 1С сразу обрабатывала код (как если бы нажали клавишу Enter), нужно добавить суффикс перевода строки. В настройках DataWedge -> Basic Configuration -> Ввод данных -> ADF (Advanced Data Formatting) создайте правило:

Теперь после каждого сканирования система будет автоматически «нажимать» ввод, инициируя поиск товара в базе.

Способ 3. Проброс COM-порта для событийной модели

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

Проанализируем алгоритм действий:

  1. На ТСД в настройках DataWedge вместо Keyboard Output выбираем Serial Output.
  2. Указываем свободный COM-порт (например, COM1 или COM2).
  3. В настройках RDP-клиента на ТСД (вкладка Local Resources) устанавливаем галочку напротив Ports (Последовательные порты).
  4. Теперь при подключении к серверу в диспетчере устройств Windows Server появится перенаправленный порт.

После этого в 1С:ERP переходим в раздел «Администрирование» -> «Подключаемое оборудование». Выбираем тип «Сканеры штрихкода» и создаем новое устройство с драйвером 1С:Сканеры штрихкода (COM). В настройках указываем номер проброшенного порта. Теперь данные будут приходить в процедуру ВнешнееСобытие, что гораздо надежнее для профессиональной работы.

Особенности интерфейса 1С для ТСД на Windows CE

Разберем ситуацию с визуальным отображением. Экран Motorola MC9100 имеет небольшое разрешение (обычно 240x320 или 480x640). Стандартные формы 1С:ERP просто не поместятся на такой экран. Мы рекомендуем:

Работа со сложной маркировкой (DataMatrix и Честный Знак)

Посмотрим на пример работы с кодами маркировки. При использовании клавиатурной эмуляции через RDP часто возникают проблемы с передачей спецсимволов (например, разделителя GS). Если ваша задача — учет маркированной продукции, режим клавиатуры может подвести. В этом случае строго рекомендуется использовать либо проброс COM-порта, либо переключить DataWedge в режим передачи двоичных данных (Binary), если это поддерживает текущая версия прошивки.

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


&НаКлиенте
Процедура ОбработкаВводаШтрихкода(ДанныеШтрихкода)
    // Если фокус в поле ввода, событие сработает при нажатии Enter (суффикс)
    ПараметрыПоиска = Новый Структура("Штрихкод", ДанныеШтрихкода);
    РезультатПоиска = ПоискНоменклатурыПоШтрихкоду(ПараметрыПоиска);
    
    Если РезультатПоиска.Найдено Тогда
        ДобавитьТоварВТабличнуюЧасть(РезультатПоиска.Значение);
    КонецЕсли;
КонецПроцедуры

Резюме и альтернативы

Подводя итог, можно сказать: подключение Motorola MC9100 через RDP — это рабочая схема, требующая тонкой настройки DataWedge. Однако помните, что RDP очень чувствителен к качеству Wi-Fi покрытия. Если связь на складе нестабильна, сессия будет постоянно «зависать». В таких случаях стоит рассмотреть альтернативу — использование специализированного ПО (Middleware), такого как Mobile SMARTS или DataMobile. Они устанавливаются на ТСД как нативный клиент и обмениваются с 1С только данными, что делает работу более отказоустойчивой.

← На главную