Почему Атол 30ф не передает данные в ОФД с рабочего места кассира и как это исправить?

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

При работе с программой 1С:Бухгалтерия 8.3 в сетевом режиме часто возникает ситуация, когда кассовый аппарат, подключенный к рабочему месту кассира, успешно пробивает чеки, но не отправляет их оператору фискальных данных (ОФД). При этом, если подключить ту же кассу к серверу или главному компьютеру, данные уходят без проблем. В этой статье мы подробно разберем, почему так происходит, проанализируем механизмы передачи данных и настроим систему для стабильной работы.

Разбираем причину: где должна работать служба передачи данных?

Основная ошибка при настройке сетевой работы с ККТ заключается в непонимании того, как именно драйвер АТОЛ взаимодействует с интернетом. Рассмотрим ситуацию: кассовый аппарат Атол 30ф физически подключен через USB-кабель к компьютеру кассира (клиентская станция), а база 1С находится на сервере.

Многие технические специалисты ошибочно полагают, что если служба передачи данных (например, EOU — EthernetOverUsb) запущена на сервере, то этого достаточно. Однако это не так. Проанализируем механику: драйвер, установленный на компьютере кассира, создает виртуальные каналы связи. Кассовый аппарат "общается" с внешним миром через те порты, к которым он привязан физически. Следовательно, служба, отвечающая за "проброс" интернета в кассу через USB-кабель, должна быть установлена и запущена именно на том компьютере, к которому подключен аппарат.

Выясним это на практике: если касса стоит на рабочем месте кассира "Операционист-1", то и служба EthOverUsb должна работать в процессах именно этого компьютера. На сервере она может быть запущена для других касс, но конкретно для этого устройства она будет бесполезна.

Решение №1: Настройка службы EOU (Ethernet over USB)

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

  1. Проверим наличие службы в системе. Откроем "Диспетчер задач" или оснастку "Службы" (services.msc). Ищем службу с названием EthOverUsb или AtolService.
  2. Если служба отсутствует, ее необходимо установить из папки с драйвером АТОЛ (обычно это C:\Program Files (x86)\ATOL\Drivers10\KKT\bin).
  3. Важнейший этап — настройка портов. Атол 30ф при подключении по USB создает в системе два виртуальных COM-порта. Например, COM3 и COM4. Посмотрим в "Диспетчере устройств", какие именно порты появились при включении кассы.
  4. Один из этих портов (обычно с меньшим номером) используется для команд 1С (печать чеков, отчеты). Второй порт предназначен исключительно для службы передачи данных.
  5. Откроем файл настроек службы settings.ini (находится в папке со службой). Убедимся, что там указан именно тот номер COM-порта, который выделен под передачу данных. Если в 1С и в службе указан один и тот же порт, возникнет конфликт, и данные передаваться не будут, так как порт будет занят программой 1С.

Решение №2: Переход на современную технологию EoT (Ethernet over Transport)

Рассмотрим более современный и стабильный способ, который предлагается в 10-й версии драйверов АТОЛ. Технология EoT позволяет передавать фискальные данные через тот же самый канал (порт), по которому идет обмен командами между 1С и ККТ. Это избавляет нас от необходимости запускать отдельную службу EOU и следить за вторым COM-портом.

Проанализируем процесс настройки EoT:

  1. Запустим утилиту "Тест драйвера ККТ" версии 10.x на компьютере кассира.
  2. Установим связь с кассой, перейдем в раздел "Свойства" и нажмем кнопку "Параметры ККТ".
  3. Найдем пункт "15 ОФД".
  4. В поле "Канал связи с ОФД" выберем значение EoT (EthernetOverTransport).
  5. Сохраним настройки и перезагрузим кассовый аппарат.
  6. Важно: После включения EoT необходимо остановить и отключить службу EthOverUsb на этом компьютере, чтобы исключить конфликты оборудования.

Теперь драйвер будет самостоятельно упаковывать данные для ОФД в транспортный протокол и отправлять их через основное соединение. Это значительно повышает отказоустойчивость системы в среде 1С.

Решение №3: Проверка при работе через удаленный рабочий стол (RDP)

Часто программисты сталкиваются с проблемой, когда кассир работает в 1С через терминальный сервер. Разберем, как обеспечить связь в этом случае. Посмотрим на типовую схему: касса подключена к домашнему или офисному ПК, а 1С запущена "где-то в облаке".

В этой ситуации служба передачи данных (будь то EOU или настройки EoT в драйвере) должна быть настроена именно на локальной машине. Сервер 1С вообще не должен знать о том, как касса ходит в интернет. Его задача — отправить команду на печать чека через проброшенный порт. А локальный драйвер на ПК кассира уже должен подхватить задачу по отправке данных в ОФД.

Проверьте следующие настройки в RDP-клиенте:

Диагностика соединения средствами ККТ

Если вышеуказанные действия не помогли, воспользуемся встроенным инструментом диагностики. Это самый быстрый способ выяснить, на каком этапе "застревает" пакет данных. В "Тесте драйвера ККТ" перейдем на вкладку "ФН" и нажмем кнопку "Диагностика соединения с ОФД".

Кассовый аппарат распечатает небольшой чек, на котором будет отражен статус по пунктам:

  1. Приложение: есть ли связь с драйвером.
  2. Выход в интернет: видит ли касса сеть.
  3. Связь с ОФД: доступен ли сервер оператора (например, ofd.ru).

Если на чеке в строке "Доступ к ОФД" написано "Нет", проверим настройки брандмауэра Windows и антивируса на компьютере кассира. Попробуем временно отключить их и повторить диагностику. Также проанализируем настройки DNS: иногда замена буквенного адреса сервера ОФД на прямой IP-адрес в настройках ККТ решает проблему мгновенно.

Настройка электропитания USB-портов

Проанализируем еще один неочевидный момент. ОС Windows в целях экономии энергии может "усыплять" USB-концентраторы, если через них долго не передаются активные данные. Это приводит к разрыву связи со службой EOU.

Выполним следующие действия:

  1. Зайдем в "Диспетчер устройств".
  2. Развернем ветку "Контроллеры USB".
  3. Для каждого устройства "Корневой USB-концентратор" зайдем в "Свойства" -> "Управление электропитанием".
  4. Снимем галочку "Разрешить отключение этого устройства для экономии энергии".

Эти комплексные меры позволят стабилизировать передачу фискальных данных из 1С:Бухгалтерия в ОФД и избежать блокировки фискального накопителя из-за долгого отсутствия связи.

← На главную