Почему 1С:Розница запрашивает сертификат ЭЦП при проверке маркировки через ТС ПИоТ и как это исправить?

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

При организации розничных продаж маркированной продукции в среде 1С:Розница 2.3 с подключением удаленных магазинов через тонкие клиенты по веб-публикации нередко возникает труднодиагностируемая ситуация. На кассовых узлах развернут и успешно функционирует локальный модуль разрешительного режима (ТС ПИоТ / Единый сервисный модуль — ЕСМ). Кассиры без сбоев регистрируют продажи, однако ровно через 10 часов после запуска сеанса при очередном сканировании кода маркировки на экране кассира внезапно появляется диалоговое окно выбора сертификата электронной подписи. При попытке закрыть это окно или отменить выбор система выводит блокирующую ошибку «Авторизация ГИС МТ не пройдена».

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

Архитектура взаимодействия: почему кассе не нужен токен True API

Для понимания корня проблемы проанализируем, как разделяются потоки взаимодействия с государственной информационной системой мониторинга товаров (ГИС МТ). Существуют два принципиально разных механизма онлайн-проверки статуса кода маркировки:

  1. Прямой онлайн-запрос через True API. Этот интерфейс предназначен для учетных операций (приемка, списание, перемаркировка, ввод в оборот). Для взаимодействия через True API обязательно требуется действующая авторизация с использованием КЭП или временного сессионного токена со сроком жизни 10 часов. На кассовых узлах такой подход неприменим из соображений безопасности и скорости работы.
  2. Отраслевой контур через ТС ПИоТ (Точка сопряжения программного интерфейса отраслевого тарификатора / ЕСМ). В данном сценарии проверка кода маркировки на кассе делегируется локальной службе. Авторизация и тарификация осуществляются не через сертификат пользователя или сессионный веб-токен, а на уровне фискального накопителя ККТ (ФН) и защищенного ключа доступа (X-API-Key). Кассовому рабочему месту не требуются ни «живая» электронная подпись, ни периодически обновляемый 10-часовой токен авторизации.

Если в 1С корректно настроена интеграция с ТС ПИоТ, сканирование кода маркировки в рабочем месте кассира (РМК) должно обрабатываться локальной службой через порт 51401 (или аналогичный порт локального сервиса ЕСМ), не затрагивая сессионные токены ГИС МТ.

Причина ошибки: скрытое аварийное переключение (Fallback)

Почему же программа начинает требовать сертификат именно через 10 часов? В Библиотеке подключаемого оборудования (БПО), встроенной в 1С:Розница, заложен алгоритм автоматического резервирования. Если система по какой-либо причине считает, что служба ТС ПИоТ для текущего сеанса не настроена, отключена или не отвечает, она в фоновом режиме переключает проверку на резервную ветку — прямой запрос к веб-сервисам True API.

Рассмотрим, как развиваются события:

  1. При старте системы или входе в РМК программа пытается инициализировать параметры ТС ПИоТ для текущего рабочего места.
  2. Если связка между текущим сеансом и сохраненными настройками ТС ПИоТ нарушена, конфигурация считает локальный модуль недоступным и без уведомления пользователя переходит на проверку через API ГИС МТ.
  3. Если на сервере или в информационной базе был предварительно получен 10-часовой токен авторизации, касса продолжает пробивать марки без видимых ошибок, обращаясь напрямую к серверам «Честного Знака».
  4. По истечении 10 часов срок жизни временного токена завершается. При следующем сканировании марки 1С инициирует процедуру автоматического обновления токена, требующую подписания запроса закрытым ключом сертификата.
  5. Так как физический носитель электронной подписи на кассовом ПК отсутствует, на экране появляется окно выбора сертификата, а отказ от выбора приводит к ошибке «Авторизация ГИС МТ не пройдена».

Факторы, приводящие к потере привязки ТС ПИоТ

Выясним, из-за чего возникает рассогласование между сеансом кассира и параметрами ТС ПИоТ в базе данных:

  1. Динамическая генерация рабочих мест при веб-публикации. Когда тонкий клиент подключается к информационной базе через веб-сервер (Apache или IIS), идентификатор клиента (ClientID) может изменяться при очистке кэша браузера, переподключении сети или авторизации под другим системным пользователем. В результате 1С создает в справочнике Справочник.РабочиеМеста новую запись-дубль. Поскольку параметры подключения ТС ПИоТ привязаны к конкретной ссылке рабочего места, в новом рабочем месте эти настройки оказываются пустыми.
  2. Кэширование ошибки доступности службы. Если в момент запуска 1С служба ТС ПИоТ еще не успела стартовать или локальный порт был кратковременно заблокирован антивирусом/брандмауэром, 1С выставляет флаг недоступности модуля в сеансовых данных. Все последующие чеки до перезапуска или сброса настроек маршрутизируются в обход ТС ПИоТ.
  3. Проблемы проверки SSL-сертификата. Служба ЕСМ использует защищенное соединение по протоколу HTTPS. Если в настройках модуля в 1С не установлен флаг исключения проверки корневых сертификатов, а локальный сертификат не добавлен в доверенные сертификаты операционной системы, транспортный уровень 1С блокирует обращение к localhost.

Решение проблемы: пошаговый порядок действий

Разберем по шагам, как восстановить корректное функционирование разрешительного режима и исключить повторное появление запросов ЭЦП.

  1. Перепривязка настроек ТС ПИоТ для рабочего места.

    Основное и самое быстрое решение заключается в полном удалении и повторном создании настройки подключения к ТС ПИоТ. Перейдите в раздел Настройки БПО / Интеграция с ИС МП (или настройки разрешительного режима в параметрах подключаемого оборудования), найдите текущую запись ТС ПИоТ для проблемного рабочего места кассы, удалите ее и настройте заново с указанием локального адреса (localhost или 127.0.0.1) и рабочего порта службы.

  2. Очистка дублей в справочнике рабочих мест.

    Откройте список справочника РабочиеМеста. Проверьте, нет ли повторяющихся записей для одного и того же физического кассового компьютера. Если обнаружены дубли, оставьте одну актуальную запись, привяжите к ней все торговое оборудование и настройки ТС ПИоТ, а неиспользуемые дубли пометьте на удаление.

  3. Фиксация параметров запуска тонкого клиента.

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

  4. Проверка параметров безопасности SSL.

    В окне настройки интеграции с ТС ПИоТ обязательно включите признак «Исключить проверку корневых сертификатов» (если обращение идет по HTTPS с самоподписанным сертификатом локального сервиса ЕСМ). Это гарантирует стабильную установку соединения без вмешательства политик безопасности операционной системы.

  5. Изоляция кассовых мест от механизма True API.

    Чтобы исключить скрытую работу по резервному каналу, проверьте настройки токенов авторизации ГИС МТ в базе. Для кассовых баз или рабочих мест РМК, где не оформляются складские документы, не следует хранить сессионные токены True API. В этом случае при реальном сбое связи с ТС ПИоТ система сразу выдаст кассиру четкое сообщение о недоступности локального модуля, вместо скрытого перехода на онлайн-проверку и внезапной блокировки продаж спустя 10 часов.

  6. Использование нового интерфейса РМК.

    Убедитесь, что кассовые места переведены на современный интерфейс Новое РМК. В типовых конфигурациях линейки 2.3 алгоритмы работы с ТС ПИоТ в старом интерфейсе РМК содержат устаревшие обработчики, которые могут вызывать сбои лицензирования и непреднамеренный сброс флагов интеграции.

Выполнение этих шагов восстанавливает прямую работу с локальным модулем проверки и гарантирует, что кассовые операции больше не будут прерываться из-за окончания срока действия сессионных веб-токенов ГИС МТ.

← На главную