Как подключить ККМ через RDP к 1С:УТ 10.3 на Windows Server 2012, если нет оснастки управления терминалом?

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

При работе с программным продуктом 1С:Управление торговлей 10.3, особенно когда филиал расположен в другом городе и сотрудники подключаются к серверу через протокол удаленного рабочего стола (RDP), возникает специфическая, но весьма распространенная проблема. Если ваша контрольно-кассовая машина (ККМ) онлайн-типа работает через физический COM-порт, то возникает необходимость пробросить этот порт с клиентского компьютера на сервер. Если вы используете Windows Server 2008 или более ранние версии, эта задача решается достаточно просто через оснастку управления терминалом. Однако, начиная с Windows Server 2012, привычной оснастки уже нет, и мы сталкиваемся с отсутствием очевидного графического интерфейса для настройки проброса COM-портов. Мы рассмотрим различные подходы к решению этой задачи, от серверных настроек до альтернативных методов подключения ККМ.

Настройка проброса COM-порта на стороне сервера

Отсутствие привычной оснастки управления терминалом на Windows Server 2012 и более поздних версиях стало камнем преткновения для многих системных администраторов. Но это не означает, что функциональность исчезла. Она просто перенесена в другие инструменты. Рассмотрим, как мы можем разрешить проброс COM-портов на сервере.

Использование групповых политик (GPO)

Групповые политики — это централизованный и наиболее правильный способ управления настройками в доменной среде или на отдельном сервере. Мы можем использовать их для разрешения перенаправления COM-портов.

  1. Открываем Редактор групповой политики: На сервере нажмите клавиши Win + R, введите gpedit.msc и нажмите Enter. Это откроет редактор локальной групповой политики.
  2. Переходим к нужной политике: В открывшемся окне нам необходимо пройти по следующему пути:
    • Конфигурация компьютера
    • Административные шаблоны
    • Компоненты Windows
    • Службы удаленных рабочих столов
    • Узел сеансов удаленных рабочих столов
    • Перенаправление устройств и ресурсов

    Мы видим целый ряд политик, которые управляют перенаправлением различных ресурсов.

  3. Находим и настраиваем политику: В этом разделе мы находим политику с названием "Не разрешать перенаправление COM-портов". По умолчанию она может быть в состоянии "Не задано" или "Включено".
  4. Устанавливаем значение "Отключено": Дважды щелкаем по этой политике и в открывшемся окне устанавливаем значение "Отключено". Это означает, что перенаправление COM-портов разрешено.
  5. Применяем изменения: Нажимаем Применить, затем ОК. После этого для вступления изменений в силу может потребоваться перезагрузка сервера или, как минимум, выполнение команды gpupdate /force в командной строке с правами администратора. Перезагрузка гарантирует применение всех политик.

Таким образом, мы даем серверу разрешение на прием клиентских COM-портов.

Настройка через PowerShell

Если нам нужен более быстрый, скриптовый подход или если мы работаем в среде, где графический интерфейс ограничен, мы можем использовать PowerShell. Этот метод особенно удобен для автоматизации или в средах с большим количеством серверов.

Для разрешения проброса COM-портов с помощью PowerShell мы можем использовать командлеты для управления службами удаленных рабочих столов. Основная команда для этой цели изменяет свойства коллекции сеансов RDP.

Откройте PowerShell от имени администратора на вашем сервере и выполните следующую команду:


Set-RDSessionCollectionConfiguration -CollectionName "Имя вашей коллекции" -ClientDeviceRedirectionOptions "Clipboard,COMPort,Printer"

Разберем команду по частям:

После выполнения этой команды изменения должны вступить в силу. Для полного применения может потребоваться переподключение пользователей к удаленным рабочим столам.

Конфигурация через Диспетчер шлюза удаленных рабочих столов (RD Gateway)

Если ваша инфраструктура удаленных рабочих столов включает Шлюз удаленных рабочих столов (Remote Desktop Gateway), то часть настроек перенаправления может быть вынесена на уровень политик авторизации подключений. Это происходит, когда пользователи подключаются к серверу не напрямую, а через этот шлюз.

  1. Открываем оснастку Диспетчер шлюза удаленных рабочих столов: На сервере, где установлен RD Gateway, найдите и откройте оснастку Диспетчер шлюза удаленных рабочих столов.
  2. Создаем или изменяем политику авторизации подключений (CAP): В разделе "Политики" -> "Политики авторизации подключений (CAP)" мы должны создать новую политику или отредактировать существующую.
  3. Используем Мастер политик: Воспользуйтесь мастером для создания политики. На одном из шагов мастера нам предложат выбрать пользователей или группы, на которые будет распространяться действие политики.
  4. Разрешаем перенаправление устройств: На следующем шаге, который касается "Перенаправления устройств", мы должны установить галочку напротив опции, разрешающей перенаправление устройств. Убедитесь, что перенаправление COM-портов разрешено явно или через общую опцию "Все устройства".
  5. Завершаем настройку: Завершите работу мастера и сохраните изменения. Эта политика будет регулировать, какие устройства клиентского компьютера разрешено пробрасывать при подключении через шлюз.

Важно отметить, что если шлюз удаленных рабочих столов не используется, этот метод, очевидно, неприменим.

Проброс COM-порта на клиентском компьютере

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

  1. Проверка наличия COM-порта: Убедитесь, что физический COM-порт с подключенной ККМ корректно определен в системе на клиентском компьютере. Проверить это можно в Диспетчере устройств, раздел "Порты (COM и LPT)". Запомните номер порта (например, COM4).
  2. Настройка RDP-клиента: Откройте стандартное подключение к удаленному рабочему столу (mstsc.exe) на клиентском компьютере.
    • Перейдите на вкладку "Локальные ресурсы".
    • В разделе "Локальные устройства и ресурсы" нажмите кнопку "Подробнее...".
    • В открывшемся окне установите галочку напротив опции "Порты". Это позволит RDP-клиенту попытаться пробросить все локальные COM-порты на удаленный сервер.
    • Нажмите ОК и подключитесь к серверу.

    Часто системные администраторы отмечают, что при отсутствии специфических ограничений, COM-порты пробрасываются "из коробки" после включения опции на клиенте.

  3. Указание порта в настройках 1С: На удаленном рабочем столе, после успешного подключения, запустите 1С:УТ 10.3. В настройках оборудования ККМ (обычно это в справочнике "Кассы ККМ" или обработке "Подключение и настройка торгового оборудования") попробуйте указать номер проброшенного COM-порта. Иногда это будет COM1 или COM2, а иногда система может присвоить ему номер, совпадающий с клиентским (например, если на клиенте был COM4, на сервере он тоже может стать COM4). Экспериментируйте с доступными портами.

Альтернативные методы подключения ККМ

Если стандартный проброс COM-портов через RDP продолжает вызывать проблемы или вы сталкиваетесь с неприемлемо низкой скоростью печати чеков, мы можем рассмотреть более стабильные и быстрые альтернативные варианты.

Подключение ККМ по IP (Ethernet/Wi-Fi)

Это самый предпочтительный и современный способ подключения ККМ в распределенных системах. Многие современные онлайн-кассы поддерживают подключение не только через COM-порт, но и по сети Ethernet или Wi-Fi. Если ваш кассовый аппарат поддерживает такой тип подключения, мы настоятельно рекомендуем использовать его.

  1. Проверяем возможности ККМ: Уточните в документации к вашей ККМ, поддерживает ли она подключение по сети.
  2. Подключаем ККМ к локальной сети: Подключите кассу к локальной сети филиала, где она установлена. Убедитесь, что ККМ получает IP-адрес (статический или по DHCP).
  3. Настраиваем драйвер на сервере 1С: В настройках драйвера ККМ на сервере 1С (в обработке подключения торгового оборудования) вместо COM-порта укажите IP-адрес и сетевой порт ККМ.

Преимущества этого метода очевидны: высокая скорость, надежность соединения, полное отсутствие проблем с пробросом COM-портов через RDP, так как взаимодействие происходит по стандартным сетевым протоколам.

Использование VPN-соединения

Создание виртуальной частной сети (VPN) между филиалом и центральным офисом (или сервером 1С) позволяет интегрировать клиентский компьютер в локальную сеть сервера. При этом KKM, подключенная к клиентскому компьютеру, будет восприниматься сервером 1С так, как если бы она находилась в его локальной сети.

  1. Настраиваем VPN-сервер и клиент: Мы должны настроить VPN-сервер (например, на маршрутизаторе филиала или на отдельном сервере) и VPN-клиент на компьютере, к которому подключена ККМ.
  2. Подключаемся к VPN: Клиентский компьютер устанавливает VPN-соединение с сервером.
  3. Подключаем ККМ как локальное устройство: Теперь сервер 1С, работающий через RDP, сможет "увидеть" COM-порт клиента как локальный ресурс, если проброс COM-порта настроен на сервере, или же ККМ может работать через сетевой интерфейс, если она поддерживает IP-подключение и находится в одной VPN-сети с сервером.

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

Применение утилит для проброса COM-портов через TCP/IP

Существует специализированное программное обеспечение, которое решает проблему проброса COM-портов, "превращая" их в сетевой ресурс. Эти утилиты создают на клиентском компьютере "сервер" COM-порта, который доступен по TCP/IP, а на серверной части — "клиент", который создает виртуальный COM-порт, связанный с сетевым соединением.

  1. Устанавливаем клиентскую часть утилиты: На компьютере с физической ККМ устанавливается часть программы, которая перенаправляет данные с реального COM-порта в сеть (например, на определенный IP-адрес и порт).
  2. Устанавливаем серверную часть утилиты: На сервере 1С устанавливается другая часть программы, которая "слушает" указанный сетевой порт и создает виртуальный COM-порт в системе (например, VCOM1).
  3. Настраиваем 1С: В 1С:УТ 10.3 мы указываем этот виртуальный COM-порт как порт для подключения ККМ.

Этот метод часто оказывается более стабильным и быстрым по сравнению со штатным пробросом RDP, поскольку он оптимизирован именно для передачи данных последовательных портов по сети. Примеры таких утилит: Serial over LAN, FabulaTech Serial Port Redirector, Eltima Serial Port Splitter.

Решение проблем со скоростью печати чеков

Даже если нам удается успешно пробросить COM-порт, мы часто сталкиваемся с другой проблемой: существенные задержки при печати чеков. Это связано с особенностями RDP-протокола, который не всегда оптимально обрабатывает потоки данных последовательных портов, особенно если сеть имеет высокую задержку или низкую пропускную способность.

Использование актуальных драйверов ККМ

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

  1. Загружаем последние версии: Посетите официальный сайт производителя вашей ККМ и загрузите последние версии драйверов.
  2. Устанавливаем на сервер и клиент: Установите их на оба компьютера. Некоторые производители специально оптимизируют драйверы для работы в терминальных сессиях, что может значительно улучшить скорость и стабильность.

Оптимизация настроек RDP-клиента

Хотя напрямую настройки скорости COM-порта в RDP-клиенте нет, мы можем попробовать поэкспериментировать с общими настройками производительности, которые могут косвенно повлиять на скорость передачи данных.

  1. Открываем RDP-клиент: Запустите mstsc.exe.
  2. Переходим к вкладке "Опыт": На этой вкладке мы можем выбрать "Низкоскоростное широкополосное соединение" или отключить визуальные эффекты, что уменьшит объем передаваемых графических данных и освободит пропускную способность для других ресурсов.
  3. Проверяем другие опции: На вкладке "Локальные ресурсы" -> "Подробнее" убедитесь, что выбраны только необходимые для работы ККМ порты, чтобы не перегружать канал ненужными перенаправлениями.

Переход на IP-подключение ККМ

Повторимся, что самым эффективным решением проблем со скоростью печати является переход на сетевое подключение ККМ по IP. Этот метод обходит все сложности, связанные с пробросом COM-портов, и использует гораздо более быстрый и стабильный сетевой протокол TCP/IP для передачи данных.

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

Общие рекомендации и выводы

Мы проанализировали различные подходы к подключению ККМ через RDP в условиях Windows Server 2012 и 1С:УТ 10.3. Проблема отсутствия привычной оснастки для проброса COM-портов решается через групповые политики, PowerShell или политики RD Gateway.

Однако, мы также выяснили, что даже при успешном пробросе COM-портов, скорость печати может стать значительной проблемой. В связи с этим, мы делаем вывод, что наиболее перспективными и надежными методами являются альтернативные:

  1. Подключение ККМ по IP (Ethernet/Wi-Fi), если кассовый аппарат поддерживает такой функционал.
  2. Использование специализированных утилит для проброса COM-портов через TCP/IP, которые эмулируют виртуальные порты.

Эти методы позволяют нам значительно повысить стабильность и скорость работы ККМ, что критически важно для торговых операций. Производители торгового оборудования и разработчики 1С все чаще ориентируются на сетевые интерфейсы, поскольку это изначально более надежная и быстрая технология для работы в распределенных системах и терминальных средах. Мы рекомендуем по возможности отдавать предпочтение именно сетевым интерфейсам для подключения ККМ.

← На главную