Как подключить весы Штрих-Слим к 1С при работе через RDP?

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

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

Разберем архитектуру решения

Для начала проанализируем ситуацию: весы подключаются к локальному ПК через USB-интерфейс, который с помощью драйвера эмулирует виртуальный COM-порт. Чтобы 1С на сервере смогла получить данные, этот порт должен быть «проброшен» (перенаправлен) через RDP-канал. Однако даже после успешного проброса 1С может не увидеть устройство, если драйвер оборудования (библиотека .dll) не зарегистрирован в реестре серверной ОС.

Шаг 1: Настройка локального подключения и RDP-клиента

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

  1. Запустите стандартный клиент подключения к удаленному рабочему столу (mstsc.exe).
  2. Перейдем на вкладку Локальные ресурсы.
  3. В разделе «Локальные устройства и ресурсы» нажмем кнопку Подробнее....
  4. Убедимся, что установлен флажок напротив пункта Порты. Это критически важно для передачи данных COM-порта в сессию.

Важный нюанс: 1С иногда испытывает трудности с портами, имеющими высокие порядковые номера (например, COM25). Мы рекомендуем в диспетчере устройств на локальном ПК вручную изменить номер порта на диапазон от 1 до 5.

Шаг 2: Проверка видимости порта на сервере

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


change port /query

В ответ система выведет список портов. Ищите строку вида \Device\RdpDrPort\;COM3:1\tsclient\COM3. Если такая строка есть, значит, проброс на уровне RDP работает успешно. Если списка нет или нужный порт отсутствует, необходимо проверить Групповые политики (GPO) на сервере. Проследуем по пути:

Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Перенаправление устройств и ресурсов.

Здесь параметр «Допускать перенаправление COM-портов» должен быть в состоянии «Включено» или «Не задано».

Шаг 3: Установка и регистрация драйвера в 1С

Даже если порт виден в системе, 1С требует наличия установленного драйвера (внешней компоненты). В случае с весами «Штрих-М» часто используется библиотека ShtrihPosScl.dll или современные драйверы, входящие в состав БПО. Выясним, как правильно инициализировать драйвер:

  1. Первый запуск 1С на сервере после настройки оборудования обязательно выполним от имени администратора. Это позволит программе автоматически зарегистрировать необходимые COM-объекты в реестре.
  2. Если автоматическая регистрация не сработала, зарегистрируем библиотеку вручную. Откроем командную строку от имени администратора и введем:

regsvr32 "C:\Путь_к_драйверу\ShtrihPosScl.dll"

Обратите внимание на разрядность: если вы используете 64-битную версию платформы 1С:Предприятие, вам потребуется 64-битный драйвер весов. Большинство старых драйверов «Штрих-М» — 32-битные, и они будут работать только в 32-битном клиенте 1С.

Шаг 4: Настройка в интерфейсе 1С:Розница

Теперь перейдем непосредственно в 1С и настроим подключаемое оборудование:

  1. Откроем раздел АдминистрированиеПодключаемое оборудование.
  2. Создадим новый экземпляр оборудования с типом «Электронные весы».
  3. Выберем драйвер «Штрих-М:Весы с печатью этикеток» (или «Электронные весы», в зависимости от версии БПО).
  4. Нажмем Настроить. В поле «Порт» выберем тот номер порта, который мы пробросили (например, COM3).
  5. Установим параметры связи (скорость, четность), идентичные настройкам в диспетчере устройств на локальном ПК. Обычно это 4800 или 9600 бод.

Альтернативный метод: Использование COM-over-IP

Рассмотрим ситуацию, когда стандартный проброс RDP работает нестабильно (например, из-за плохого интернет-канала или особенностей эмулятора USB-COM). В таких случаях проанализируем возможность использования стороннего ПО для трансляции порта по протоколу TCP/IP.

Суть метода заключается в следующем:

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

Проанализируем возможные ошибки

Если после всех настроек вес в 1С по-прежнему не отображается, проверим следующее:

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


// Пример инициализации объекта драйвера
Попытка
    ОбъектДрайвера = Новый COMОбъект("ShtrihScl.ShtrihPosScl");
    ОбъектДрайвера.ComNumber = 3; // Номер проброшенного порта
    ОбъектДрайвера.BaudRate = 4800;
    Если ОбъектДрайвера.Connect() = 0 Тогда
        Вес = ОбъектДрайвера.ReadWeight();
        Сообщить("Текущий вес: " + Вес);
    Иначе
        Сообщить("Ошибка подключения: " + ОбъектДрайвера.Description);
    КонецЕсли;
Исключение
    Сообщить("Драйвер не зарегистрирован на сервере!");
КонецПопытки;

Таким образом, совместная работа системного администратора по пробросу портов и программиста по регистрации драйверов позволяет успешно эксплуатировать весы «Штрих-Слим» в терминальной среде. Соблюдение последовательности действий от настройки RDP до регистрации COM-объектов гарантирует стабильную работу кассового узла.

← На главную