Многие пользователи столкнулись с ситуацией, когда при попытке подписать документ программа 1С выдает предупреждение о том, что сертификат не действует, начиная с 01.01.2023. Это происходит из-за того, что в алгоритмы проверки Библиотеки стандартных подсистем (БСП) жестко заложена дата окончания действия сертификатов, выданных коммерческими удостоверяющими центрами.
Несмотря на то, что законодательство РФ продлило возможность использования таких сертификатов до 31 августа 2023 года, программный код 1С не всегда успевает за изменениями нормативной базы. Рассмотрим, как решить эту проблему в типовых и нетиповых конфигурациях.
Самый безопасный и быстрый способ исправить ситуацию — воспользоваться официальными исправлениями от разработчика. Фирма «1С» выпускает специальные патчи (исправления конфигурации), которые устраняют ошибку без необходимости внесения изменений в код вручную.
Бухгалтерия предприятия) такие патчи уже выпущены.Электронной подписи — предупреждение об окончании срока действия должно исчезнуть.Если ваша конфигурация сильно изменена или для нее еще не вышел актуальный патч, можно применить программное решение с помощью Расширения конфигурации. Это позволит изменить поведение функции, которая отвечает за проверку даты действия сертификата.
Суть метода заключается в изменении возвращаемого значения функции ДатаПрекращенияДействияСертификатовВыданныхКоммерческимиУЦ в общем модуле ЭлектроннаяПодписьКлиентСерверЛокализация.
Рассмотрим, как это реализовать:
Расширение конфигурации.ЭлектроннаяПодписьКлиентСерверЛокализация.&ИзменениеИКонтроль или &Вместо для переопределения логики функции.2023, 1, 1 на 2023, 9, 1.Пример кода, который необходимо изменить:
Функция ДатаПрекращенияДействияСертификатовВыданныхКоммерческимиУЦ() Экспорт
// Было: Возврат Дата(2023, 1, 1) - 3*60*60;
// Стало:
Возврат Дата(2023, 9, 1) - 3*60*60; // Универсальное время относительно московского.
КонецФункции
Важное примечание: При использовании расширения убедитесь, что вы не просто изменили функцию, но и корректно настроили права. Если после правки подпись все еще не работает, проверьте, не блокирует ли её проверка цепочки доверия в настройках КриптоПро CSP или отсутствие актуальных списков отозванных сертификатов (СОС) в системе.
Иногда даже после внесения правок программа может продолжать выдавать ошибку. Проанализируем возможные причины:
ЭЦП в вашей 1С. В некоторых версиях ПО необходимо заново перевыбрать сертификат в настройках обмена, чтобы сбросить кэшированные данные о его статусе.certmgr.msc). Если криптопровайдер не доверяет сертификату, никакие правки внутри 1С не помогут, так как 1С лишь обращается к функциям КриптоПро для операции подписания.БСХП), которое не обновилось под новые требования, использование патчей от базовой конфигурации может быть затруднено. В таких случаях лучше использовать расширение, но убедитесь, что оно корректно перекрывает все вызовы функции проверки даты.Подводя итог, в первую очередь всегда ищите официальное обновление или патч от разработчика 1С. К ручному вмешательству в код стоит прибегать только в том случае, если патч отсутствует, а подписание документов необходимо произвести срочно.