При работе с маркированной продукцией в конфигурациях 1С:Розница и 1С:УНФ с интегрированным программным модулем ТС ПИоТ (ЕСМ / ЕСП) и кассовыми аппаратами линейки Poscenter пользователи могут столкнуться со специфической проблемой. В тесте драйвера ККТ и утилитах проверки соединение с фискальным накопителем и серверами отрабатывает штатно. Однако при закрытии теста и запуске сеанса 1С при попытке сканирования марки выдаются сообщения об отсутствии лицензии ПИоТ или потере связи с ГИС МТ.
В системном журнале модуля при этом фиксируется ошибка gRPC-транспорта:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp 127.0.0.1:4042: connectex: No connection could be made because the target machine actively refused it."
Разберем детально архитектурные причины возникновения этой ошибки, выполним диагностику сетевого порта средствами операционной системы и рассмотрим проверенные способы восстановления стабильной работы кассового узла.
Проанализируем сетевую ошибку connectex: No connection could be made because the target machine actively refused it. Данное сообщение указывает не на блокировку брандмауэром или сбой маршрутизации (в таких случаях возникает ошибка таймаута), а на то, что целевой порт 4042 на петлевом интерфейсе 127.0.0.1 в операционной системе никем не прослушивается.
В отличие от некоторых других производителей кассовой техники (например, АТОЛ), где агент ДККТ работает в виде отдельной постоянно запущенной службы Windows, у линейки ККТ Poscenter внутренняя служба агента ДККТ встроена в саму динамическую библиотеку драйвера. Следовательно, сокет 127.0.0.1:4042 держит не системный сервис, а процесс, загрузивший в память экземпляр драйвера ККТ.
Когда мы открываем тестовую утилиту драйвера, порт 4042 открывается и начинает принимать gRPC-запросы модуля ТС ПИоТ. При закрытии утилиты порт закономерно освобождается. В среде «1С:Предприятие» за удержание этого порта отвечает клиентский процесс 1cv8c.exe через механизм подсистемы подключаемого оборудования (БПО).
В устаревшем интерфейсе РМК (старый режим кассы) компонент драйвера ККТ часто подключается по требованию и может освобождаться при переходах между окнами, блокировках транзакций или переинициализации интерфейса. Как только сеанс выгружает или деактивирует объект драйвера, агент перестает слушать порт 4042, и внешняя служба ПИоТ мгновенно теряет связь с аппаратом, блокируя продажу маркированного товара.
Для точного определения состояния соединения проанализируем локальные порты с помощью системных команд Windows. Выполним проверку в командной строке (cmd), запущенной от имени администратора, в моменты сбоя и штатной работы кассы.
netstat -ano | findstr :4042
LISTENING, определим идентификатор процесса (PID) в крайней правой колонке и сопоставим его с запущенным приложением:
tasklist /svc /fi "PID eq НОМЕР_PID"
При корректной интеграции мы увидим, что порт удерживается процессом 1cv8c.exe. Если при запущенной 1С сокет пуст, но при этом обычные (немаркированные) товары успешно печатаются, это подтверждает, что базовая печать чеков через методы драйвера доступна, но инициализация внутреннего gRPC-агента для работы с маркировкой внутри сеанса не состоялась.
Основным и наиболее надежным решением проблемы является перевод рабочего места кассира на современный интерфейс Новый РМК. Рассмотрим подробнее, почему это устраняет сбой:
127.0.0.1:4042, благодаря чему модуль ПИоТ сохраняет устойчивый gRPC-канал с аппаратом.Если перевод на Новый РМК пока не выполнен или ошибка сохраняется, проверим конфигурацию внутренней интеграции драйвера ККТ Poscenter:
На стабильность связки напрямую влияют версии локального модуля Честного Знака (ЛМ ЧЗ) и служб ЕСМ. Разберем по шагам регламент обновления и порядок запуска:
net stop "Имя_Службы_ЕСМ"
timeout /t 3 /nobreak > nul
net start "Имя_Службы_ЕСМ"
При подключении ККТ через физический интерфейс USB операционная система Windows может временно приостанавливать питание виртуального COM-порта при паузах в печати, что приводит к обрыву фонового gRPC-соединения внутри процесса 1С.
Комплексный переход на Новый РМК с актуализацией версий драйвера ДККТ и служб ЕСМ полностью устраняет ошибку подключения к 127.0.0.1:4042 и обеспечивает бесперебойную фиксацию выбытия маркированных товаров.