При работе в программе 1С:Зарплата и Управление Персоналом бухгалтеры часто сталкиваются с ситуацией, когда при попытке отправить или подписать электронный больничный лист (ЭЛН) для ФСС (ныне СФР) возникает критическая ошибка. Текст ошибки выглядит следующим образом: Объект CryptS : Удостоверяющий центр... издавший сертификат... не авторизован фирмой 1С. Далее программа сообщает, что не удалось подписать файл выгрузки из-за ошибки в методе контекста PKCS7ПодписатьСДанными.
В этой статье мы подробно разберем, почему возникает данное ограничение, проанализируем внутренние механизмы проверки сертификатов в 1С и рассмотрим пошаговые алгоритмы решения проблемы, которые позволят вам своевременно сдать отчетность и обеспечить выплаты сотрудникам.
Прежде всего, важно понять, что данная ошибка не означает, что ваш сертификат электронной подписи (КЭП) неисправен или не подходит для работы с государственными органами. Технически сертификат может быть полностью валидным. Однако компания «1С» придерживается определенной политики безопасности и коммерческого партнерства.
Для реализации функции прямой отправки документов (сервис «1С-Отчетность») программа проверяет издателя сертификата (Удостоверяющий центр) по внутреннему «белому списку». Если УЦ, в котором вы получили подпись, не прошел процедуру авторизации в фирме «1С», встроенный криптографический модуль блокирует вызов метода PKCS7ПодписатьСДанными. Это делается для обеспечения гарантированной совместимости программного кода 1С с алгоритмами конкретного УЦ.
К числу авторизованных центров обычно относятся:
Если же ваш сертификат выдан небольшим региональным центром (как, например, «ЦИБ-Сервис» из примера) или специализированным центром другого оператора связи (например, Контур, если он не входит в список партнерских соглашений для прямой интеграции в конкретной версии конфигурации), вы столкнетесь с вышеописанной блокировкой.
Если у вас есть действующий договор с оператором электронного документооборота (ЭДО), таким как «Контур.Экстерн» или «СБИС», вам не обязательно добиваться прямой отправки из 1С. Рассмотрим алгоритм действий, который позволяет обойти ограничение 1С:
Проанализируем ситуацию: этот метод является наиболее быстрым, если сроки сдачи поджимают, а менять сертификат нет времени. При необходимости передачи данных через сторонние сервисы можно воспользоваться обработкой выгрузки сведений о застрахованных лицах СЭДО в файлы.
Если у организации нет стороннего оператора отчетности, мы можем воспользоваться бесплатным государственным порталом. Разберем по шагам этот процесс:
Для тех, кто хочет использовать все преимущества бесшовной интеграции и отправлять больничные нажатием одной кнопки непосредственно из 1С, рекомендуется получить сертификат, который 1С «узнает». Рассмотрим варианты:
Иногда ошибка «Не найден сертификат» или «Метод не найден» может быть связана не только с авторизацией УЦ, но и с локальными настройками рабочего места. Проверим правильность настройки криптопровайдера. Посмотрим на программный контекст работы с сертификатами:
Для корректной работы 1С должна видеть установленный в системе CryptoPro CSP или VipNet CSP. Пройдем по пути: Администрирование — Настройки программы — Настройки криптографии и электронную подписи.
На вкладке «Программы» должен быть добавлен ваш криптопровайдер. Если мы работаем с кодом и хотим проверить доступность сертификата программно, мы можем использовать следующий фрагмент (для административных целей):
МенеджерКриптографии = Новый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider", "", 80);
Сертификаты = МенеджерКриптографии.ПолучитьСертификаты();
Для Каждого ТекущийСертификат Из Сертификаты Цикл
Сообщить(ТекущийСертификат.Субъект);
КонецЦикла;
Если в этом списке ваш сертификат отображается, но при отправке в ФСС возникает ошибка авторизации УЦ, значит, проблема именно в проверке издателя внутри защищенного модуля 1С.
С переходом на СЭДО (Социальный электронный документооборот) и проактивные выплаты, взаимодействие с фондом стало сложнее. Рассмотрим критически важные моменты:
PKCS7ПодписатьСДанными.Подведем итог: ошибка авторизации УЦ — это программное ограничение интерфейса 1С для прямой отправки. Она решается либо сменой оператора/сертификата на «партнерский», либо использованием промежуточного звена в виде выгрузки XML-файлов в сторонние системы отчетности, где подобные ограничения отсутствуют.