Почему смена не открывается без ComProxy, а при его работе не уходят чеки в ОФД?

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

При работе с кассовыми аппаратами линейки Viki Print (например, 57Ф) пользователи часто сталкиваются с парадоксальной ситуацией: для связи 1С с кассой требуется запущенная служба ComProxy, однако именно она блокирует передачу данных оператору фискальных данных (ОФД). В итоге получается «замкнутый круг»: либо мы можем торговать, но чеки копятся в памяти ФН, либо мы отправляем чеки, но 1С «теряет» кассу. Рассмотрим подробно, почему это происходит и как правильно настроить систему.

Разберем механизм работы ComProxy и причины конфликта

Служба ComProxy выполняет роль посредника (моста). Она захватывает реальный физический COM-порт, к которому подключена касса, и создает виртуальный порт для 1С. Проблема заключается в том, что физический порт кассы является монопольным ресурсом. Если служба ComProxy настроена некорректно или использует устаревшие протоколы, она «запирает» канал связи на себя, не позволяя внутренней службе кассы или драйверу пробросить данные в интернет для ОФД.

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

Шаг 1: Правильная диагностика через утилиту Fito

Для настройки параметров кассы традиционно используется сервисная утилита Fito. Однако здесь кроется главная ловушка для администратора. Рассмотрим алгоритм действий:

  1. Останавливаем службу ComProxy. Невозможно достучаться до кассы через Fito по физическому порту, пока этот порт занят прокси-службой. В диспетчере задач или оснастке «Службы» находим ComProxy и завершаем процесс.
  2. Запускаем Fito и проверяем связь. Если касса установлена, например, на 13-й порт, выбираем его. Если мы хотим работать через виртуальный порт при запущенном прокси, в Fito также нужно указывать адрес виртуального порта (обычно 127.0.0.1 и соответствующий порт), но для первичной настройки параметров ОФД лучше работать напрямую с физическим портом при выключенном прокси.
  3. Проверяем параметры ОФД. В меню «Установка параметров» переходим в раздел «Параметры ОФД». Проверяем, чтобы адрес сервера и порт (например, gate.ofd.ru и порт 4000) соответствовали вашему контракту. Если там стоят нули или неверные данные, чеки не уйдут вне зависимости от работы службы прокси.

Шаг 2: Настройка метода передачи данных (EthernetOverUSB)

Современные кассы Viki Print могут передавать данные в ОФД двумя основными способами. Проанализируем, какой из них выбран у вас:

Посмотрим на пример настройки в Fito: если вы используете режим EthernetOverUSB, убедитесь, что в Windows запущена служба Dreamkas Service или EoU, а в сетевых подключениях появилось новое устройство. Если же вы работаете по старинке через ComProxy, то в конфигурационном файле comproxy.ini должны быть четко прописаны правила перенаправления пакетов.

Шаг 3: Переход на Dreamkas Drive

Производитель Дримкас признал ComProxy устаревшим решением. Рассмотрим альтернативу — службу Dreamkas Drive. Она заменяет собой старый прокси и работает как полноценный драйвер-диспетчер.

При использовании Dreamkas Drive:

  1. В 1С при настройке подключаемого оборудования выбирается драйвер «Дримкас: ККТ с передачей данных в ОФД (54-ФЗ)».
  2. Служба сама управляет очередью команд: когда 1С запрашивает статус (например, для открытия смены), служба кратковременно занимает канал, а в паузах позволяет кассе отправлять накопленные чеки в ОФД.
  3. Это полностью устраняет проблему «порочного круга», когда одно блокирует другое.

Шаг 4: Анализ влияния версии платформы и конфигурации 1С

Как было замечено в обсуждении, проблема часто «уходит» после обновления 1С. Проанализируем почему. В новых версиях конфигураций (например, «Розница 2.3» или «УНФ 3.0») используются обновленные макеты драйверов. В них реализована более корректная работа с TCP-сокетами касс Viki.

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

  1. Зайдите в «Администрирование» — «Подключаемое оборудование».
  2. Откройте настройки вашей кассы.
  3. Нажмите кнопку «Установить драйвер» (даже если он уже стоит), чтобы обновить компоненту .dll в профиле пользователя, что важно для групповой фискализации чеков коррекции при ошибках СНО.
  4. Нажмите «Тест устройства». Если тест проходит успешно при запущенном прокси, но чеки все равно не уходят, значит, проблема в настройках брандмауэра или неверном значении НДС в чеке, требующем коррекции.

Шаг 5: Проверка сетевых блокировок

Выясним причину, по которой ComProxy может «молчать» при попытке отправить чек. Служба использует порты 19050 и 19051 для внутреннего обмена. Если антивирус или стандартный брандмауэр Windows блокирует активность процесса comproxy.exe во внешней сети, касса будет получать команду «Печать чека» от 1С, но не получит подтверждение от сервера ОФД через этот же канал.

Рекомендуется добавить исполняемый файл службы в исключения и разрешить ему любой входящий и исходящий трафик по протоколам TCP/UDP.

Итог: рекомендуемая схема настройки

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

Обновляем прошивку кассы до актуальной (не ниже 665.x.x), так как старые прошивки плохо поддерживали разделение потоков и вызывали проблемы с чеками при закрытии месяца. Отказываемся от ComProxy в пользу Dreamkas Drive. В 1С настраиваем связь по IP-адресу (127.0.0.1) через службу, а не напрямую по номеру COM-порта, если это позволяет версия драйвера. В Fito проверяем, что метод передачи данных установлен как «Служба ОФД», что позволяет кассе не ждать завершения сессии с 1С для начала выгрузки данных.

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

← На главную