Проблема истечения срока действия розничного токена для работы с государственной информационной системой мониторинга товаров (ГИС МТ) «Честный Знак» является критической для многих торговых предприятий. В этой статье мы подробно разберем, почему возникает ограничение по дате, как работают механизмы проверки в 1С и какие существуют способы обойти эти ограничения, если обновление конфигурации по каким-то причинам невозможно.
В типовых конфигурациях 1С (Розница, Управление торговлей, УНФ и других) заложены механизмы контроля срока действия статических токенов доступа. Изначально многие участники оборота использовали долгосрочные токены, полученные в личном кабинете «Честного Знака». Однако политика системы меняется в сторону динамической авторизации через УКЭП (усиленную квалифицированную электронную подпись). Дата 1 марта 2026 года является очередным «рубежом», зашитым в коде программы 1С, после которого система начинает выдавать предупреждения или блокировать операции с маркировкой.
Рассмотрим ситуацию глубже: даже если сам «Честный Знак» еще принимает старый токен, внутренняя проверка 1С может блокировать работу. Разберем основные пути решения этой задачи.
Для программистов самым элегантным и правильным решением (если нельзя обновить конфигурацию полностью) является использование механизма расширений. Мы можем «подменить» возвращаемое значение функции, которая отвечает за проверку даты окончания токена.
Проанализируем пример кода, который позволяет переопределить дату окончания действия токена в общем модуле ИнтерфейсИСМПОбщегоНазначенияКлиентСервер. Нам необходимо использовать аннотацию &Вместо, чтобы программа игнорировала стандартную дату и использовала нашу.
&Вместо("ДатаДействияТокенаИСМПРозница")
Функция EXДатаДействияТокенаИСМПРозница()
// Устанавливаем желаемую дату, например, до июля 2026 года
Возврат Дата(2026, 07, 01);
КонецФункции
Этот метод хорош тем, что он не требует изменения самой конфигурации (она остается на поддержке) и работает стабильно после перезапуска программы. Однако стоит помнить, что данный способ применим только для версий ПРОФ и выше, так как Базовые версии 1С не поддерживают сторонние расширения.
Данные о токене и сроке его действия часто кэшируются в базе данных. Выясним, где именно они хранятся. В большинстве современных конфигураций за это отвечает регистр сведений, связанный с настройками ИС МП (например, Кэш данных мониторинга или аналогичные).
Рассмотрим алгоритм ручной правки:
Важное замечание: как показывает практика обсуждений, после рестарта программы или при выполнении регламентных заданий 1С может восстанавливать дату из программного кода (см. Способ 1). Поэтому правка регистра часто является лишь временной мерой.
Компания 1С регулярно выпускает оперативные исправления (патчи) для решения подобных проблем. Это оптимальный вариант для тех, кто не хочет лезть в код. Разберем, как это работает:
Патчи (исправления) имеют префиксы типа EF_00_.... Официальный патч от 1С не просто меняет дату, он часто переводит логику работы на бессрочные токены или автоматическое обновление через сертификат.
Для корректной работы патчей необходимо соблюдение двух условий:
Владельцы Базовых версий сталкиваются с самой сложной ситуацией: расширения нельзя, а официальный патч может не ставиться на очень старый релиз. Разберем «хак», который обсуждался специалистами для решения этой проблемы.
Если у вас есть файл патча (например, в формате .zip или .cfe), внутри него находится файл манифеста в формате XML. В этом файле прописаны условия применимости (минимальный и максимальный номер релиза конфигурации).
Внимание: это действие выполняется на ваш страх и риск. Если в вашем старом релизе отсутствуют объекты, к которым обращается патч, программа может начать выдавать критические ошибки при попытке продажи маркированного товара.
Проанализируем ситуацию с точки зрения сервера «Честного Знака». Даже если мы обманем 1С и заставим её считать, что токен действует до 2030 года, сервер ГИС МТ может просто отклонить запрос со старым идентификатором.
Современные требования предполагают использование динамических токенов. Процесс выглядит так:
Поэтому самым надежным решением является переход на работу по сертификату. Рассмотрим подробнее: если при проверке токена система выдает ошибку «Сертификат не найден», значит, программа уже пытается работать по новой схеме (динамической), но не находит в хранилище подписи нужный ключ. В этом случае правка дат уже не поможет — нужно устанавливать сертификат на рабочее место или на сервер 1С.
Для стабильной работы после 1 марта 2026 года мы рекомендуем следующий план действий:
ДатаДействияТокенаИСМПРозница, но помните, что это лишь отсрочка перед неизбежным переходом на новые протоколы API «Честного Знака».