Как подключить кассу АТОЛ 30Ф к 1С 7.7 в терминальном режиме на Windows Server 2003

Системный администратор 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

Связка платформы 1С:Предприятие 7.7 (например, популярной конфигурации «Торговля и Склад 9.2») и современного кассового оборудования — задача, с которой часто сталкиваются администраторы и разработчики при автоматизации розничной торговли. Особую сложность вызывает сценарий, когда ККТ (в нашем случае популярный фискальный регистратор АТОЛ 30Ф) подключен к локальному компьютеру пользователя по USB, а сама база 1С работает в сессии службы терминалов (RDP) на сервере под управлением устаревшей, но все еще используемой операционной системы Windows Server 2003.

В этой статье мы подробно разберем, как правильно спроектировать такую архитектуру, настроить физическое подключение, пробросить порты на сервер терминалов, зарегистрировать необходимые компоненты и запустить печать чеков из «семерки» без сбоев и конфликтов.

Варианты архитектуры подключения ККТ в терминальной сессии

Перед тем как приступить к практической настройке, проанализируем доступные варианты интеграции кассы АТОЛ 30Ф с сервером терминалов. Выделяют два основных подхода:

  1. Проброс (маппинг) виртуального COM-порта через RDP. Физически касса подключается по USB к локальному компьютеру кассира. Специальный драйвер АТОЛ эмулирует на локальной машине виртуальный последовательный порт (COM-порт). При подключении к серверу по RDP этот порт перенаправляется в терминальную сессию. 1С на сервере видит кассу так, будто она подключена непосредственно к серверу.
  2. Сетевое подключение по TCP/IP через службу FDSVC или веб-сервер. Касса подключается к локальному ПК, на котором запускается специальная служба-посредник от АТОЛ (например, служба FDSVC в старых версиях драйверов или встроенный Веб-сервер в современных ДТО 10). 1С на сервере отправляет команды печати чека не на локальный порт, а напрямую по IP-адресу компьютера кассира через сетевой порт.

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

---

Решение №1: Настройка проброса виртуального COM-порта через RDP

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

Шаг 1: Подготовка локального компьютера кассира

Подключим кассовый аппарат АТОЛ 30Ф к USB-порту локального компьютера кассира. Для того чтобы операционная система определила кассу, необходимо установить драйверы торгового оборудования АТОЛ. В процессе установки будут установлены драйверы виртуального COM-порта (обычно это драйверы USB-to-UART от Silicon Labs или собственные USB-драйверы АТОЛ).

После успешной установки откроем Диспетчер устройств Windows на локальном компьютере и развернем ветку Порты (COM и LPT). Мы должны увидеть новые устройства. Как правило, АТОЛ 30Ф создает два виртуальных порта:

Обязательно запомним номер порта, предназначенного для управления кассой (в нашем примере — COM3).

Шаг 2: Настройка подключения в RDP-клиенте (mstsc)

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

  1. Запустим подключение к удаленному рабочему столу (нажмем сочетание клавиш Win + R, введем mstsc и нажмем Enter).
  2. В открывшемся окне нажмем кнопку Показать параметры.
  3. Перейдем на вкладку Локальные ресурсы.
  4. В разделе «Локальные устройства и ресурсы» нажмем кнопку Подробнее....
  5. В появившемся списке установим флажок напротив пункта Порты.
  6. Нажмем «ОК», вернемся на вкладку «Общие» и сохраним настройки подключения (или сразу нажмем «Подключить»).

Шаг 3: Проверка маппинга портов на сервере Windows Server 2003

Установим RDP-соединение с сервером. Нам необходимо убедиться, что операционная система Windows Server 2003 успешно приняла проброшенный порт. Для этого откроем командную строку на сервере (Пуск -> Выполнить -> cmd) и введем следующую команду:

change port /query

Эта команда выведет список всех COM-портов, доступных в вашей текущей терминальной сессии. В списке должна появиться строка вида:

COM3 = \Device\RdpDrPort\;COM3:2\tsclient\COM3

Если вы видите подобную запись, это означает, что порт успешно проброшен и готов к работе. Если команда не вывела порты с меткой \tsclient\, проверьте настройки групповых политик (GPO) на сервере терминалов — там может быть запрещено перенаправление LPT- и COM-портов клиентов.

Шаг 4: Установка драйверов и регистрация внешних компонент на сервере

Для работы 1С с кассой на сервере Windows Server 2003 также должен быть установлен драйвер торгового оборудования АТОЛ. Версия драйвера на сервере должна строго соответствовать версии драйвера, установленного на локальном компьютере кассира.

После установки драйвера нам необходимо зарегистрировать динамическую библиотеку (внешнюю компоненту), через которую 1С взаимодействует с кассой. Для старой 8-й версии драйверов АТОЛ (ДТО 8) такой библиотекой является FprnM1C82_54FZ.dll (или FprnM1C.dll для более ранних версий).

Запустим командную строку на сервере от имени Администратора и зарегистрируем библиотеку с помощью утилиты regsvr32:

regsvr32 "C:\PathToDll\FprnM1C82_54FZ.dll"

В случае успешной регистрации на экране появится соответствующее информационное сообщение. Также рекомендуется скопировать эту библиотеку в каталог с установленной платформой 1С 7.7 (в папку BIN) или непосредственно в каталог базы данных.

Шаг 5: Настройка 1С 7.7 «Торговля и Склад»

Рассмотрим, как подключить обработку обслуживания кассы в самой 1С 7.7:

  1. Скопируем файл обработки обслуживания ККТ (например, frATOL54_comm.ert или специализированную под ФФД 1.05 обработку frATOL54_comm_105.ert) в каталог базы данных в папку \ExtForms\Equip\.
  2. Туда же поместим файлы правил подключения с расширением .efd (например, fr_Atol30F_105.efd).
  3. Запустим 1С 7.7 в монопольном режиме под учетной записью администратора.
  4. Перейдем в меню Сервис -> Настройка торгового оборудования.
  5. На вкладке «Фискальный регистратор» добавим новую строку, выберем соответствующую обработку обслуживания и модель ККТ.
  6. В параметрах подключения укажем номер проброшенного COM-порта (например, COM3) и скорость обмена данными (для ККТ АТОЛ стандартная скорость по умолчанию обычно составляет 115200 или 19200).

Важный нюанс при работе нескольких пользователей:

Если на одном сервере в одной базе данных работают несколько кассиров с разными кассами, стандартный механизм 1С 7.7 может перезаписывать настройки оборудования, так как в типовой конфигурации «Торговля и Склад» настройки часто привязываются к имени компьютера, а в терминале имя компьютера сервера для всех общее (или привязывается к сетевому имени клиента, что требует правильной обработки).

Чтобы избежать конфликтов, убедимся, что каждый пользователь заходит в 1С под своим уникальным именем. В процессе пробития чека внешняя обработка формирует служебный XML-файл с параметрами чека. Нам нужно проследить, чтобы этот файл сохранялся в индивидуальной папке пользователя (каталоге пользователя в 1С 7.7), а не в общем каталоге базы данных. Иначе при одновременной печати чеков кассиры будут блокировать файлы друг друга, вызывая ошибки записи.

---

Решение №2: Подключение ККТ по сети TCP/IP (служба FDSVC)

Если вы столкнулись с тем, что чек на кассе печатается очень медленно (с задержкой в несколько секунд на каждую строку), либо RDP-соединение периодически обрывается и связь с портом теряется, рассмотрим альтернативный вариант — работу через службу сетевого доступа FDSVC (Fiscal Device Service).

Этот способ исключает нестабильный RDP-проброс портов и передает команды печати напрямую по протоколу TCP/IP.

Шаг 1: Настройка службы FDSVC на локальном ПК кассира

  1. На локальном компьютере, к которому физически подключен АТОЛ 30Ф по USB, зайдем в папку установленного драйвера АТОЛ ДТО 8 (обычно это C:\Program Files (x86)\ATOL\Drivers8\Utils\Bin\).
  2. Найдем и запустим утилиту настройки службы удаленного подключения (например, fdsvc.exe).
  3. В настройках утилиты выберем наш локальный COM-порт кассы (например, COM3), укажем порт TCP (по умолчанию используется порт 6220) и запустим службу. Также рекомендуется установить флажок «Автозапуск», чтобы служба стартовала вместе с Windows.
  4. Убедимся, что брандмауэр Windows на локальном компьютере разрешает входящие подключения по выбранному TCP-порту (6220).

Шаг 2: Настройка подключения в 1С 7.7 на сервере

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

  1. Откроем параметры торгового оборудования в 1С.
  2. В поле выбора порта вместо значения COM... выберем вариант подключения по TCP/IP (если это поддерживает используемая версия драйвера и обработки обслуживания).
  3. В поле «IP-адрес» (или «Компьютер») укажем реальный локальный IP-адрес компьютера кассира (например, 192.168.1.15), а в поле «Порт» укажем 6220.

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

---

Особенности работы на Windows Server 2003 и современные требования (ДТО 10, .NET и ФФД 1.2)

Проанализируем важные технологические ограничения, с которыми можно столкнуться при администрировании связки Windows Server 2003 и ККТ АТОЛ в современных реалиях.

Ограничения Windows Server 2003 при переходе на ДТО 10

Описанные в оригинальной теме драйверы серии 8 (ДТО 8) на сегодняшний день устарели и полностью сняты с поддержки производителем. Современные прошивки ККТ работают под управлением драйверов 10-й версии (ДТО 10). При попытке использовать ДТО 10 на Windows Server 2003 вы неизбежно столкнетесь со следующими сложностями:

Поддержка требований маркировки (ФФД 1.2) в 1С 7.7

В оригинальном обсуждении упоминается адаптация конфигурации под формат фискальных данных ФФД 1.05. Однако на текущий момент при торговле маркированным товаром (обувь, одежда, лекарства, табак, молочная продукция, пиво, вода) законодательство требует использования формата ФФД 1.2.

Типовые обработки обслуживания для 1С 7.7 от компании «1С» давно не обновляются и не поддерживают ФФД 1.2. Для реализации этих требований вам потребуется:

Таким образом, организовать стабильную печать чеков на ККТ АТОЛ 30Ф из среды 1С 7.7 через терминал Windows Server 2003 вполне реально. Придерживайтесь описанных шагов, контролируйте права доступа к COM-портам в терминальных сессиях и корректность разделения пользовательских каталогов для бесконфликтной записи XML-файлов обмена.

← На главную