Касса АТОЛ медленно печатает чеки и тормозит через RDP
В этой статье рассмотрим ситуацию, когда касса АТОЛ медленно печатает чеки с 1С-сервера, находящего на терминальном сервере. В моём случае сперва устанавливается VPN-подключение, а потом уже производится подключение по протоколу RDP.
Как и у большинства пользователей, обновивших драйвера для ККТ АТОЛ до 9 или 10 версии, я столкнулся с тем, что в новых версиях ПО нет возможности запустить «Управление драйверами» и использовать службу FDSVC для работы с кассой по сети.
Печать чеков через проброс COM-портов по RDP
Пришлось использовать проброс COM-портов через Remote Desktop Connection. Вот так выглядят мои настройки в утилите «Тест драйвера ККТ»:
Вот такие настройки в 1С:
А вот такие в настройках подключения по RDP и на сервере терминалов:
Касса работает, но АТОЛ медленно печатает чеки
Всё это и правда работает, но! Касса АТОЛ медленно печатает. Ужасно медленно. Чека приходится ждать до 5 минут. Я тут же отказался от этой затеи. «Тормоза» при обращении 1С к кассовому аппарату стали просто нереальными.
Нужно было как-то заставить работать кассу по сети. На форуме компании АТОЛ я нашёл нужную мне тему. Сотрудники технической поддержки кормят своих клиентов завтраками, якобы к осени нужный функционал будет реализован. Потом к зиме… Потом они же пишут, что у компании изменились приоритеты. Бизнес по-русски.
Эмулятор COM-портов для RDP
Я начал поиск эмуляторов COM-портов. И наткнулся на программку Virtual Serial Port Emulator. В народе VPSE. Скажу, что настройка программы очень простая и сложностей не вызывает.
Нижу я опишу как настраивал эту программу, рабочую станцию и сервер терминалов, чтобы ККТ АТОЛ печатала чеки через RDP сразу и без тормозов. В моём случае 1С-сервер — это и сервер терминалов и VPN-сервер. Рассуждения о правильности подобного решения выходят за рамки данной статьи.
Настройка кассы АТОЛ для печати чеков через RDP
Первым делом, что я делаю — назначаю компьютеру с кассой на борту постоянный адрес, который будет присваивать ему VPN-сервер. Делается это в настройках конкретного пользователя на сервере.
Далее я скачиваю Virtual Serial Port Emulator с сайта разработчика и устанавливаю на рабочую станцию с кассой. Вы можете загрузить дистрибутив, который использовал я. Далее запускаю программу, последовательно игнорируя все уведомления.
Следом переключаю язык программы на «Русский»: «Language» — «Russian».
Дальше мне нужно «Создать новое устройство» — нажимаю на иконку штекера со звёздочкой.
Выбираю TcpServer.
Перед нами открывается окно с характеристиками устройства. Здесь я выбрал COM-порт, на котором висит моя касса. В моём случае это COM15. Локальный порт 5555 оставляю по умолчанию. И перед тем как заполнить последнее поле с данными IP интерфейса, поднимаю VPN-подключение.
VPN поднялся:
После того, как VPN-подключение установилось, я пишу IP-адрес клиента и кликаю «Готово».
Окно «Мастера настройки» закрывается и я вижу, что COM15 инициализирован на 5555 порту.
Если программу закрыть или перезагрузить/выключить компьютер, настройки программы не сохранятся. Для того, чтобы каждый раз не повторять процедуру настройки, сразу сохраним нашу конфигурацию. Нажимаем на иконку «Сохранить» и выбираем местоположение файла с настройками. Я выбрал расположение Рабочий стол.
Каждый раз при загрузке системы необходимо запускать файл с нашими настройками. Если вы, как и я, устанавливаете подключение VPN-вручную, то сперва поднимаем VPN, а уже после — эмулятор. Если в вашем случае 1С-сервер расположен в локальной сети, то просто киньте файл конфигурации в автозагрузку. Так программа будет запускаться автоматически, используя ваши настройки. Пользователю лишь нужно закрыть все уведомления. За 64-разрядную версию программы автор просит скромные $24.95.
Настройка работы кассы АТОЛ по сети через RDP
Далее я запускаю «Тест драйвера ККТ» на локальном компьютере и меняю настройки:
Тоже самое я проделываю в интерфейсе программы 1С на сервере. Произвожу Тест устройства. Тест успешно выполнен. АТОЛ 30Ф.
На этом настройка закончена. Успехов в работе.
Настройка терминальных- и vpn-серверов, настройка кассовых аппаратов на точках продаж выполняется в рамках договора на абонентское обслуживание. Стоимость обслуживания компьютеров вы можете рассчитать самостоятельно на нашем сайте.
Понравилось? Поделись!
Добрый день, а как настроить VPN-подключение. Windows 7.?
Артём, приветствую! Центр управления сетями и общим доступом > Настройка нового подключения или сети > Подключение к рабочему месту > Нет, создать новое подключение > Использовать мое подключение к Интернету (VPN).
Далее указываете IP-адрес VPN-сервера для подключения. А при непосредственном подключении логин и пароль вашей учётной записи.
«Далее указываете IP-адрес VPN-сервера для подключения. А при непосредственном подключении логин и пароль вашей учётной записи.» Подскажите какой IP адрес нужно указать , все что я не указывал , он все ровно не подключается
Ответил вам на почту.
Работает ли передача чеков в ОФД в таком случае?
В статье описана процедура проброса портов. Если до этого данные передавались в ОФД, то всё будет работать.
Можно РадминВПН поднять быстренько и всё будет работать.
Огромное человеческое СПАСИБО. Расписано все до мелочей.
Пожалуйста. Очень рад, что статья полезна.
Подскажите пожалуйста, данный вариант работает если касса находится в одной локальной сети и подключается к 1С-Серверу, находящемуся в другом городе (другой локальной сети)?
Сергей, главное пробросить используемый порт. В моём примере используется TCP/5555.
Для людей, пробрасывающих com-порты есть отдельный котел кое-где. Стабильного подключение не добиться никакими прогами, такой уж протокол(.
Юзайте подключение по tcp-ip, глупцы!
Спасибо за статью. Подскажите какой скорости печати Вы добились?
В течении 5 секунд принтер уже печатал отправленное на него задание.
Спасибо за подробный рецепт. Дополню,
вместо платной Virtual Serial Port Emulator, прекрасно работает опенсорсная hub4com:
https://sourceforge.net/projects/com0com/files/hub4com/2.1.0.0/hub4com-2.1.0.0-386.zip/download
Её необходимо запускать из командной строки на компе к которому непосредственно подключена касса:
com2tcp-rfc2217 COM1 7000
где COM1 — это реальный номер COM-порта к которому подключена касса,
а 7000 — это номер TCP порта, который будет расшарен на этом компе
Спасибо!