Как подключить две кассы АТОЛ Ф55 к одной 1С УПП без конфликтов и ошибок "заблокированный COM-порт"?

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

В сегодняшней статье мы рассмотрим распространённую проблему, с которой сталкиваются пользователи 1С Управление производственным предприятием (УПП) при попытке подключения двух и более онлайн-касс АТОЛ Ф55 к одному компьютеру. Типичная ситуация: первая касса успешно работает, но при подключении второй она определяется как первая, а при попытке начать работу возникает ошибка о заблокированном COM-порте. Мы разберем причины возникновения этой проблемы и предложим комплексные решения, основанные как на настройках 1С и драйверов, так и на использовании дополнительных инструментов АТОЛ, таких как веб-сервер и служба EoU.

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

1. Базовые проверки и настройки COM-портов в операционной системе и 1С

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

  1. Проверка уникальности COM-портов в операционной системе:

    Прежде всего, убедитесь, что обе кассы АТОЛ Ф55 подключены к компьютеру и операционная система назначила им разные COM-порты. Вы можете проверить это в Диспетчере устройств. Откройте его (обычно через "Мой компьютер" -> "Свойства" -> "Диспетчер устройств" или "Пуск" -> "Панель управления" -> "Диспетчер устройств"), найдите раздел "Порты (COM и LPT)". Там должны быть видны два или более COM-порта, соответствующих вашим кассам. Важно, чтобы у каждой кассы был свой уникальный номер COM-порта. Если кассы подключены по USB, но эмулируют COM-порты, это также будет отражено здесь. Если вы используете несколько COM-портов, например, через USB-COM-конвертеры, убедитесь, что они корректно определились и не конфликтуют между собой.

  2. Настройка портов в 1С УПП:

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

    1. Зайдите в раздел Администрирование -> Подключаемое оборудование.
    2. Создайте новый элемент подключаемого оборудования для второй кассы (если он еще не создан).
    3. Для каждой кассы (первой и второй) в настройках подключаемого оборудования:
      • Убедитесь, что выбран корректный тип оборудования: "ККТ с передачей данных".
      • Укажите нужный драйвер: "АТОЛ: ККТ с передачей данных (ФФД 1.05)".
      • В поле "Порт" обязательно укажите уникальный COM-порт для каждой кассы, который вы определили в Диспетчере устройств. Например, для первой кассы - COM1, для второй - COM2.
      • Критически важно: Введите заводской номер каждой кассы в соответствующее поле. Это помогает 1С правильно идентифицировать каждую ККТ.
    4. После сохранения настроек, для каждой кассы используйте кнопку "Тест подключения". Успешный тест подтвердит, что 1С видит каждую кассу по отдельности и может с ней взаимодействовать. Если тест не проходит, проверьте доступность порта и корректность настроек драйвера.

    Иногда, чтобы удостовериться, что проблема не в конфликте самой кассы, а в её идентификации 1С, попробуйте отключить первую кассу и выполнить тест подключения для второй. Если вторая касса при отключенной первой успешно проходит тест, это подтверждает проблему с одновременной работой.

  3. Актуальность обработки обслуживания ATOLkkt.epf:

    Убедитесь, что используемая вами обработка обслуживания для 1С УПП (ATOLkkt.epf) является актуальной. Старые версии обработок могут не поддерживать работу с несколькими фискальными регистраторами или не быть полностью совместимыми с новой версией драйвера АТОЛ 10.8. Регулярно обновляйте обработки обслуживания до последних версий, доступных на сайте АТОЛ или в ИТС. Это обеспечивает корректную логику взаимодействия 1С с драйвером и ККТ.

  4. Правильная установка драйвера АТОЛ:

    При установке Драйвера ККТ АТОЛ (версии 10.x), необходимо учитывать разрядность вашей операционной системы и версии платформы 1С (x86 или x64). Также важно в процессе установки драйвера установить галку "Драйвер 1С". Драйвер АТОЛ состоит из основного и интеграционного компонентов. Удостоверьтесь, что оба компонента установлены правильно и соответствуют требованиям вашей системы.

2. Настройка службы EoU (Ethernet Over USB) для нескольких касс

В случае, если ваши кассы используют технологию EoU для передачи данных в ОФД, проблема с "заблокированным COM-портом" или некорректной идентификацией может быть связана с конфигурацией этой службы. EoU (Ethernet Over USB) – это служба, которая позволяет кассе передавать данные в ОФД через интернет-соединение компьютера, используя для этого USB или COM-порт, если у ККТ нет собственного Ethernet-разъема или модуля Wi-Fi/GSM. При использовании нескольких касс на одном компьютере с EoU, стандартная конфигурация может вызывать конфликты.

  1. Понимание функционала EoU:

    Каждая касса, подключенная по USB, может создавать два виртуальных COM-порта: один для основного обмена данными с ККТ (порт управления), другой — для службы EoU (порт передачи данных в ОФД). Иногда для некоторых моделей АТОЛ создается только один порт, который используется обеими службами. Если обе кассы пытаются использовать один и тот же порт для передачи данных в ОФД через EoU, возникает конфликт "порт занят".

  2. Редактирование файла settings.xml для EoU:

    Для корректной работы нескольких касс с EoU необходимо вручную настроить службу, указав для каждой кассы уникальные порты. Это делается путем редактирования файла settings.xml. Данный файл обычно находится по пути: C:\ProgramData\ATOL\EoU\.

    1. Остановите службу EoU: Перед редактированием файла settings.xml, обязательно остановите службу EoU. Это можно сделать через Диспетчер задач -> Службы (найдите службу "ATOL EoU Service" или схожее название) или через Панель управления -> Администрирование -> Службы. Выберите службу и нажмите "Остановить".
    2. Откройте settings.xml: Используйте текстовый редактор (например, Блокнот или Notepad++) для открытия файла settings.xml.
    3. Измените настройки портов: Внутри файла вы увидите XML-структуру, описывающую конфигурацию службы. Вам потребуется добавить или изменить секции, отвечающие за каждую кассу.

      Пример структуры для одной кассы может выглядеть так:

      
      <ConnectionSettings>
          <Port>COM3</Port>
          <BaudRate>115200</BaudRate>
      </ConnectionSettings>
      

      Для двух касс вам необходимо явно указать, какие COM-порты соответствуют каждой из них. Если файл не содержит явных секций для нескольких устройств, возможно, придется добавить их. Структура может отличаться в зависимости от версии драйвера, но общая идея — связать каждую кассу с её уникальным COM-портом. Вам может потребоваться создать отдельные блоки <Device> для каждой кассы, внутри которых будут указаны их COM-порты или другие идентификаторы.

      Если в файле есть секция, отвечающая за автоматическое определение портов, например <AutoDetect>true</AutoDetect>, мы рекомендуем её отключить или убедиться, что она не конфликтует с вашей ручной настройкой, установив <AutoDetect>false</AutoDetect> и явно прописав порты для каждого устройства.

      Если вы не уверены в точной структуре файла settings.xml для нескольких касс, рекомендуется обратиться к официальной документации АТОЛ для вашей версии драйвера или поискать примеры конфигурации для мульти-ККТ. Основная задача — убедиться, что каждый физический COM-порт, используемый ККТ для EoU, явно прописан и не пересекается с другими.

    4. Сохраните изменения: После внесения изменений сохраните файл settings.xml.
    5. Запустите службу EoU: Вернитесь в Диспетчер задач или Панель управления и запустите службу "ATOL EoU Service".

    После этих шагов служба EoU должна корректно работать с обеими кассами, используя разные COM-порты для передачи данных в ОФД.

  3. Настройка каналов обмена в кассе:

    Иногда для активации EoU или EoT (Ethernet Over Transport) может потребоваться изменить настройки непосредственно в самой кассе. Это обычно делается через сервисный режим ККТ. Войдите в сервисный режим (например, удерживая кнопку промотки чека при включении кассы), выберите соответствующий COM-порт и в параметре "ОФД" выберите нужный канал обмена (например, "EoU" или "USB"). Убедитесь, что для каждой кассы выбран правильный режим передачи данных.

3. Использование Веб-сервера АТОЛ для централизованного управления

Альтернативным и часто более гибким решением для работы с несколькими кассами, особенно если 1С УПП работает на терминальном сервере или вам необходимо управлять кассами с разных компьютеров по сети, является использование Веб-сервера АТОЛ. Драйвер АТОЛ версии 10.8 полностью поддерживает подключение нескольких фискальных регистраторов к Веб-серверу.

  1. Что такое Веб-сервер АТОЛ:

    Веб-сервер АТОЛ – это специальное программное обеспечение, устанавливаемое на компьютер, к которому физически подключены онлайн-кассы. Он предоставляет API для взаимодействия с кассами по сети (через HTTP/HTTPS протокол), позволяя другим программам (например, 1С, работающей на другом компьютере или в терминальной сессии) отправлять команды на печать чеков и получать статусы. Это исключает прямые конфликты COM-портов на компьютере с 1С, так как 1С взаимодействует не напрямую с портом, а с сетевым сервисом.

  2. Принцип работы и преимущества:
    • На компьютер, к которому подключены ККТ, устанавливаются Драйвер ККТ АТОЛ и сам Веб-сервер АТОЛ.
    • Кассы физически подключаются к этому компьютеру (по USB или COM), и драйвер АТОЛ их видит.
    • В 1С УПП вы настраиваете подключение к Веб-серверу АТОЛ, указывая IP-адрес компьютера с сервером и порт.
    • 1С отправляет запросы на печать чеков на Веб-сервер, который уже сам взаимодействует с драйвером и ККТ.
    • Программа 1С при этом не ожидает моментального результата печати, а отправляет чек в очередь. Для контроля статуса печати чеков в 1С может использоваться регламентное задание, которое периодически опрашивает Веб-сервер.
    • Это решение значительно упрощает масштабирование и управление, снижает вероятность конфликтов COM-портов и позволяет работать с кассами удаленно.
  3. Настройка Веб-сервера АТОЛ:

    К сожалению, подробная инструкция по настройке Веб-сервера АТОЛ достаточно объемна и специфична для каждой версии. Однако мы можем выделить ключевые шаги:

    1. Установка Веб-сервера АТОЛ: Загрузите и установите Веб-сервер АТОЛ с официального сайта.
    2. Настройка устройств в Веб-сервере: После установки вам нужно будет настроить каждый подключенный фискальный регистратор в интерфейсе Веб-сервера, указав его COM-порт и другие параметры.
    3. Настройка 1С УПП: В 1С вам потребуется выбрать соответствующий драйвер для работы с Веб-сервером АТОЛ (обычно это отдельный вариант драйвера или настройка существующего драйвера для работы по сети) и указать сетевые реквизиты Веб-сервера (IP-адрес и порт).

    Важный аспект: Ранее режим работы через Веб-сервер АТОЛ мог требовать ежемесячного продления лицензии для каждой ККТ. Уточните актуальные требования лицензирования на момент внедрения.

  4. Сервер удаленного подключения АТОЛ (RPC-сервер):

    Это еще один вариант подключения, часто рекомендуемый при работе 1С на терминальном сервере. На компьютер с физически подключенными ККТ устанавливается Драйвер ККТ и Сервер удаленного подключения АТОЛ. На компьютер с 1С устанавливается только драйвер, и его файлы копируются в папку платформы 1С. 1С затем взаимодействует с ККТ через этот RPC-сервер, что также позволяет избежать прямых конфликтов COM-портов на клиентской машине.

4. Дополнительные рекомендации и диагностика

Если проблема сохраняется после выполнения вышеуказанных шагов, обратите внимание на следующие моменты:

  1. Логическое устройство (ЛУ):

    В документации по драйверу АТОЛ существует понятие "Логическое Устройство". Этот механизм позволяет драйверу работать с несколькими кассами, даже если они физически подключены к разным портам, но должны быть доступны из одного сеанса или приложения. Убедитесь, что настройки логических устройств в драйвере не конфликтуют с вашими намерениями.

  2. Журналы драйвера и 1С:

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

  3. Перезагрузка системы:

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

  4. Тестирование автономно от 1С:

    Используйте утилиту "Тест драйвера ККТ" от АТОЛ (входит в комплект поставки драйвера). Подключите каждую кассу поочередно к этой утилите, указывая её COM-порт и заводской номер. Если в этой утилите обе кассы работают без проблем, это сужает круг поиска проблемы до взаимодействия между 1С и драйвером. Если же и в тесте драйвера возникают проблемы, то корень проблемы кроется глубже, на уровне драйвера или операционной системы.

Решение проблемы с подключением нескольких касс АТОЛ Ф55 к одной базе 1С УПП требует внимательности к деталям и последовательности действий. Мы рассмотрели основные подходы: от базовой проверки COM-портов и актуальности ПО до более сложных конфигураций, таких как настройка службы EoU и использование Веб-сервера АТОЛ. Помните, что ключ к успеху лежит в систематической диагностике и устранении потенциальных конфликтов на каждом уровне взаимодействия между оборудованием, драйверами и программным обеспечением 1С.

← На главную