С сентября 2021 года многие пользователи столкнулись с проблемой при попытке пробития чеков с алкогольной продукцией. Ошибка «Поле [OID.1.2.643.3.131.1.1] не найдено в сертификате» блокирует работу магазинов, несмотря на то, что сама электронная подпись (КЭП) является валидной. Разберем подробно причины возникновения этой ситуации и пошагово рассмотрим способы ее решения.
Для начала проанализируем ситуацию с точки зрения законодательства. Согласно приказу ФСБ №795, изменились требования к структуре квалифицированного сертификата. Ранее идентификатор объекта (OID) 1.2.643.3.131.1.1 использовался как универсальный идентификатор ИНН. В новых сертификатах, выпущенных после 01.09.2021, произошло разделение:
Проблема заключается в том, что старые версии программного обеспечения (1С и Универсального транспортного модуля — УТМ) пытаются найти ИНН организации в старом поле. Не находя там нужных данных, система выдает ошибку, так как не может сопоставить владельца сертификата с организацией в базе ЕГАИС.
Выясним причину некорректного поведения УТМ. Даже если у вас установлена версия 4.2.0, это не гарантирует корректную работу, так как исправления вносились внутри одной и той же версии (так называемые "тихие" сборки или билды). Рассмотрим процедуру обновления:
http://localhost:8080). Нам необходима сборка 4.2.0 build 2483 или выше.transportDB), чтобы не потерять входящие документы.Даже при корректно работающем УТМ, сама программа 1С должна уметь распознавать новые атрибуты сертификата. Посмотрим на примере конфигурации «1С:Розница». Поддержка изменений приказа №795 была реализована начиная с версии 2.3.9.42. Проанализируем действия по обновлению:
БиблиотекаСтандартныхПодсистем (БСП) и БиблиотекаЭлектронногоДокументооборота (БЭД).Администрирование — Обслуживание — Обновление программы — Установленные исправления.Иногда ошибка сохраняется из-за несоответствия версий форматов обмена. В настройках интеграции с ЕГАИС в 1С предусмотрена возможность выбора версии формата чеков (V3 или V4). Посмотрим, как это влияет на работу:
Рассмотрим ситуацию, когда при выборе V4 возникает ошибка отсутствия OID, а при переключении на V3 система сообщает, что "Лицензия на вид деятельности не действует". Это происходит из-за того, что старые форматы (V3) жестко привязаны к старой структуре сертификата. Для стабильной работы с новыми сертификатами необходимо использовать только актуальные форматы обмена и обновленное ПО, которое поддерживает чтение OID 1.2.643.100.4.
Для того чтобы операционная система и 1С могли правильно прочитать состав сертификата, необходимо обновить средства криптографической защиты информации (СКЗИ). Проанализируем требования к ПО:
Если все обновления установлены, но ошибка сохраняется, проверим сам сертификат. Рассмотрим, как это сделать штатными средствами:
ИНН ЮЛ (или INNLE). Если в составе сертификата присутствует только 12-значный ИНН физического лица, а 10-значный ИНН организации отсутствует, то такой сертификат был выпущен некорректно. В этом случае потребуется перевыпуск КЭП в удостоверяющем центре.Важный момент: Если вы используете программный код для разбора сертификата в своих обработках, обратите внимание на метод получения атрибутов. Пример логики поиска ИНН может выглядеть так:
// Пример логики поиска ИНН в сертификате
Функция НайтиИННВСертификате(ДанныеСертификата)
// Раньше искали только один OID
ИНН = ПолучитьЗначениеАтрибута(ДанныеСертификата, "1.2.643.3.131.1.1");
// Теперь нужно проверять и новый OID для Юрлиц
ИНН_ЮЛ = ПолучитьЗначениеАтрибута(ДанныеСертификата, "1.2.643.100.4");
Если ЗначениеЗаполнено(ИНН_ЮЛ) Тогда
Возврат ИНН_ЮЛ;
Иначе
Возврат ИНН;
КонецЕсли;
КонецФункции
Подведем итог. Решение проблемы всегда комплексное: обновление УТМ до последней сборки + обновление 1С до актуального релиза + обновление КриптоПро до версии 5.0. Только синхронное обновление всех компонентов системы позволит избавиться от ошибки поиска OID в сертификате.