Как подключить ККТ АТОЛ 55Ф через RDP на драйверах 9.х или 10.х для корректной работы скидок

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

При работе с торговым оборудованием в терминальном режиме (RDP) часто возникает проблема: старые драйверы (версия 8.х) поддерживают удобное сетевое подключение через службу fdsvc, но не умеют корректно обрабатывать скидки согласно современным требованиям ФЗ-54. Переход на драйверы версий 9.х или 10.х решает проблему со скидками, но в интерфейсе настройки исчезает поле «Компьютер» для указания IP-адреса. Разберем подробно, как настроить стабильную работу ККТ АТОЛ в таких условиях.

Причина перехода на новые драйверы

В конфигурациях 1С (например, УТ 10.3) при использовании 8-й версии драйверов АТОЛ скидки часто не проходят или требуют ручной корректировки цены. Это связано с тем, что старый драйвер передает скидку на весь чек, в то время как протоколы ФФД 1.05 и выше требуют распределения скидки по каждой товарной позиции. Драйверы версий 9.11 и 10.х реализуют этот механизм автоматически, поэтому их использование является обязательным для корректного учета.

Способ 1. Проброс (маппинг) COM-портов через RDP

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

  1. Настройка на локальном ПК: Убедимся, что ККТ подключена по USB. В диспетчере устройств должны появиться два виртуальных порта (например, COM14 для данных и COM15 для ОФД). Запоминаем номер порта для данных.
  2. Настройка RDP-клиента: В окне «Подключение к удаленному рабочему столу» перейдем во вкладку Локальные ресурсы. Нажмем кнопку Подробнее и установим флажок напротив пункта Порты. Это позволит серверу «видеть» локальные порты вашего ПК.
  3. Проверка на сервере: Подключимся к серверу. Откроем «Тест драйвера ККТ» (уже установленный на сервере). В поле «Канал связи» выберем COM-порт. В выпадающем списке портов мы должны увидеть наш проброшенный порт. Он часто отображается в формате COM14 (RDPNP\...).
  4. Настройка в 1С: В параметрах торгового оборудования выберем соответствующую обработку (например, ATOLkkt.epf для 9-й версии или системную компоненту для 10-й). Укажем номер проброшенного порта и скорость (рекомендуется 115200 или 9600 в зависимости от качества связи).

Решение проблемы «Порт недоступен»

Часто при попытке теста в 1С возникает ошибка «Порт недоступен». Рассмотрим причины этой ситуации:

Способ 2. Использование TCP-сервера в Драйвере 10.х

Если проброс портов работает нестабильно или медленно (высокий пинг), воспользуемся встроенным функционалом 10-й версии драйвера. Разберем этот вариант, так как он заменяет функционал fdsvc.

На локальном компьютере, где физически стоит касса, выполним следующие действия:

  1. Запустим Тест драйвера ККТ 10.
  2. Перейдем в раздел Удаленное подключение.
  3. Установим флажок Включить TCP-сервер.
  4. Укажем порт (по умолчанию 5555).

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

Этот метод работает значительно быстрее маппинга портов, так как данные передаются напрямую по сетевому протоколу, минуя механизмы RDP.

Борьба с медленной печатью (задержками)

Если чек начинает печататься только через 10-15 секунд после нажатия кнопки, проанализируем сетевые задержки. При использовании маппинга через RDP критичным является пинг: если он выше 10 мс, тормоза неизбежны. Посмотрим, как это оптимизировать:

  1. Увеличение скорости порта: В настройках драйвера и в диспетчере устройств установим максимальную скорость (115200).
  2. Оптимизация протокола: Если касса поддерживает протокол EthernetOverTransport (EoT), лучше использовать его. В этом случае данные для ОФД и команды от 1С идут по одному каналу, что снижает нагрузку на проброшенный порт.
  3. Настройка реестра: Для продвинутых пользователей можно попробовать отключить алгоритм Нагла на сервере для ускорения передачи мелких пакетов через RDP, но лучше перейти на способ с TCP-сервером.

Особенности настройки скидок в 1С:УТ 10.3

Чтобы 1С понимала новую логику драйверов 9.х/10.х, необходимо обновить обработку обслуживания. Проанализируем пример кода, который может использоваться в обработке для передачи скидок:


// Пример логики распределения скидки в обработке 1С
Если СкидкаНаЧек <> 0 Тогда
    КоэффициентСкидки = (СуммаЧек - СкидкаНаЧек) / СуммаЧек;
    Для Каждого СтрокаТЧ Из ТоварнаяЧасть Цикл
        СтрокаТЧ.Цена = Округлить(СтрокаТЧ.Цена * КоэффициентСкидки, 2);
        // Драйвер 10.х примет эту цену как окончательную фискальную цену
    КонецЦикла;
КонецЕсли;

Современные версии ATOLkkt.epf уже содержат внутри себя механизмы формирования JSON-заданий для драйвера, где скидки распределяются автоматически. Убедитесь, что версия вашей обработки соответствует версии установленного драйвера. Помните: драйвер версии 9 официально считается устаревшим, поэтому рекомендуем сразу переходить на 10-ю ветку (ДТО 10), которая поддерживает все актуальные изменения законодательства.

Использование Веб-сервера АТОЛ

Для самых сложных случаев, когда прямая видимость IP-адресов между сервером и клиентом отсутствует, можно использовать Веб-сервер АТОЛ. Он поставляется в комплекте с ДТО 10. Рассмотрим схему:

Этот способ является наиболее отказоустойчивым для распределенных сетей, так как HTTP-трафик легче проходит через брандмауэры и прокси-серверы.

← На главную