Многие пользователи 1С:Зарплата и управление персоналом 3.1 (особенно в редакциях ветки 3.1.23 и выше) сталкиваются с неприятной ситуацией: после обновления конфигурации или платформы настройки сертификатов для обмена с СФР (бывший ФСС) и ЭДО начинают «слетать». Сертификаты физически присутствуют в хранилище Windows и видны в КриптоПро, но в самой программе 1С в настройках организации поле выбора сертификата становится пустым или заполняется некорректными данными. Рассмотрим подробно, как решить эту проблему и предотвратить её повторение.
Первым делом проанализируем настройки самой программы, которые отвечают за то, как 1С взаимодействует с криптопровайдером. Опыт пользователей показывает, что после обновления системы флаги в некоторых регистрах могут сброситься в значения по умолчанию.
Разберем по шагам, что необходимо проверить:
Важно: Если эта галочка не стоит, 1С может «забывать» связь между организацией и конкретным отпечатком сертификата при закрытии сеанса или обновлении кэша конфигурации.
Если простая установка флага не помогает, проанализируем ситуацию глубже. Часто проблема кроется в «битых» записях в служебных регистрах сведений. Программа пытается считать настройку, натыкается на некорректную запись и сбрасывает поле в интерфейсе.
Выполним следующие действия:
Настройки обмена с СЭДО ФСС (или Параметры электронного документооборота с ФСС).Также рекомендуется выполнить очистку кэша конфигурации. Для этого удалим базу из списка запуска 1С и добавим её заново. Это принудительно обновит локальные метаданные, которые могли быть повреждены в процессе обновления релиза 3.1.23.777 или выше.
Иногда причина кроется не в 1С, а во взаимодействии платформы с криптопровайдером. Если сайт разработчика КриптоПро был недоступен или проводились технические работы, это могло повлиять на проверку цепочек доверия сертификатов.
Проанализируем состояние КриптоПро:
Обратите внимание на режим Усиленный контроль использования ключей в настройках КриптоПро. Если он включен, 1С может требовать повторного выбора сертификата при каждом обращении к закрытому ключу, что имитирует «слетание» настроек.
Если ваша организация использует сервис 1С-Отчетность, настройки обмена СЭДО можно восстановить автоматически. Это самый надежный способ прописать все необходимые параметры во все связанные регистры программы.
Рассмотрим порядок действий:
Программа повторно скачает настройки с сервера 1С-ЭДО и пропишет сертификаты во всех узлах учета. Это исключает человеческий фактор при ручном выборе сертификатов в разных окнах настроек.
Выясним еще одну возможную причину — несоответствие данных. С введением СЭДО 1С стала жестко проверять связку Организация — Физическое лицо — Сертификат.
Проанализируем данные:
Для технической проверки корректности привязки можно использовать следующий программный подход (псевдокод для понимания логики системы):
// Логика проверки связи организации и сертификата
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Настройки.СертификатЭДО
|ИЗ
| РегистрСведений.НастройкиОбменаСФСС КАК Настройки
|ГДЕ
| Настройки.Организация = &Организация";
Запрос.УстановитьПараметр("Организация", ВыбраннаяОрганизация);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Сообщить("Связь разорвана или отсутствует в регистре");
КонецЕсли;
В завершение отметим, что если все вышеперечисленные методы не помогают, стоит проверить права доступа пользователя Windows к ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro. Если у пользователя нет прав на чтение/запись определенных ключей, 1С не сможет сохранить выбор сертификата в системном кэше, и настройки будут сбрасываться при каждом перезапуске программы.