С 1 июня 2019 года функции оператора маркировки меховых изделий перешли от Федеральной налоговой службы к Центру развития перспективных технологий (ЦРПТ, система «Честный ЗНАК»). В связи с этим изменились и веб-адреса для обмена данными: старый адрес markirovka.nalog.ru прекратил прием запросов, а новым адресом стал furs.mark.crpt.ru.
Для пользователей конфигурации «1С:Бухгалтерия предприятия» этот переход вызвал ряд технических сложностей. Фирма «1С» выпустила специальное временное расширение РасширениеГИСМЦРПТ.cfe для поддержки обмена со старыми релизами, однако при его установке многие столкнулись с системными ошибками. В этой статье мы подробно разберем, как решить проблему несовместимости расширения и настроить стабильное соединение с ЦРПТ.
При запуске информационной базы со старым релизом (например, 3.0.67.54) после установки интеграционного расширения система аварийно завершает работу с сообщением:
{РасширениеГИСМЦРПТ ОбщийМодуль ИнтеграцияГИСМВызовСервера Модуль(176,6)}: Процедура или функция с указанным именем не определена (ДобавитьДанныеЗапросаКвитанцииОФиксацииВОчередь)
Проанализируем причину этого сбоя. Механизм расширений в 1С:Предприятии позволяет перехватывать и модифицировать поведение методов основной конфигурации. Однако если расширение обращается к методу основной конфигурации, которого в текущей версии базы еще физически не существует, возникает ошибка компиляции программного кода.
Выпущенное фирмой «1С» расширение разрабатывалось и тестировалось для работы на релизах не ниже 3.0.70.61. В этих версиях разработчики уже подготовили программный слой для работы с очередями квитанций ГИСМ. В старых релизах (до 3.0.70) вызов процедуры ДобавитьДанныеЗапросаКвитанцииОФиксацииВОчередь в общем модуле ИнтеграцияГИСМВызовСервера отсутствует, что и приводит к ошибке.
Для долгосрочной и стабильной работы обмена с ГИСМ наиболее правильным решением является обновление конфигурации «1С:Бухгалтерия».
Если ваша база сильно кастомизирована или находится в крупной распределенной сети, где быстрое обновление затруднено, можно временно решить проблему путем создания «заглушки» в самом расширении или основной конфигурации. Разберем этот шаг по этапам:
Нам необходимо объявить недостающую процедуру в общем модуле расширения, чтобы компилятор успешно пропустил проверку кода. Для этого выполним следующие действия:
ИнтеграцияГИСМВызовСервера внутри расширения.
Процедура ДобавитьДанныеЗапросаКвитанцииОФиксацииВОчередь(ПараметрыЗапроса, ОчередьСообщений) Экспорт
// Временная заглушка для совместимости со старыми релизами
ЗаписьОчереди = РегистрыСведений.ОчередьСообщенийФСЕНТ.СоздатьМенеджерЗаписи();
// Здесь при необходимости реализуется логика логирования или переноса данных в старые структуры
КонецПроцедуры
После сохранения изменений база запустится, однако учтите, что часть функционала по обработке квитанций в фоновом режиме может работать некорректно. Данный метод следует рассматривать исключительно как временную меру до планового обновления.
Даже после успешного обновления или настройки расширения пользователи часто сталкиваются с ошибкой инициализации соединения при попытке отправить отчет о продажах или запросить пулы марок по адресу furs.mark.crpt.ru. Рассмотрим причины и способы их устранения по шагам.
Шаг 1. Проверка корневых сертификатов SSL/TLS
Серверы ЦРПТ используют шифрование по протоколу HTTPS. Если на компьютере пользователя или на сервере «1С:Предприятия» (при клиент-серверном режиме работы) отсутствуют актуальные корневые сертификаты удостоверяющего центра, выдавшего сертификат для crpt.ru, то операционная система заблокирует сетевой запрос из соображений безопасности. Необходимо установить актуальные сертификаты Минцифры или коммерческого УЦ в хранилище доверенных корневых сертификатов операционной системы Windows.
Шаг 2. Настройка прав службы «1С:Предприятие»
Если ваша база работает в клиент-серверном режиме, веб-запросы к ГИСМ отправляются непосредственно с сервера приложений 1С. Служба сервера часто работает под технической учетной записью (например, USR1CV8). У этой учетной записи должен быть доступ к установленным в системе криптопровайдерам (например, КриптоПро CSP) и к контейнерам закрытых ключей электронных подписей. Убедитесь, что сертификат организации установлен в личное хранилище пользователя, под которым запущена служба сервера 1С.
Шаг 3. Активация протокола TLS 1.2
Портал ЦРПТ не принимает соединения по устаревшим протоколам SSLv3 и TLS 1.0. На старых серверных операционных системах (например, Windows Server 2008 R2) поддержка TLS 1.2 может быть отключена на системном уровне. Чтобы включить её, необходимо внести изменения в системный реестр Windows по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
Установите параметр Enabled в значение 1 (тип DWORD), после чего перезагрузите сервер.