Данные электронной подписи не соответствуют текущему участнику при списании через API Честный знак
почему-то появляется вот эта ошибка. "Данные электронной подписи не соответствуют текущему участнику? Все ИНН-ы проверил. Там единственная разница, что в честном знаке ИНН с пробелом в конце, а в подписи без пробела. Но, я пробовал ИНН указывать и с пробелом и без – всё равно одна и таже ошибка. Никак объяснений, ни пояснений. Через бразуер всё работает с той же самой подписью. Техподдрежка честного знака закрывает обращение без каких-либо пояснений: оптравляю такой документ "{ "inn": "6683800", "action": "OWN_USE", "action_date": "2024-11-11", "document_type": "OTHER", "document_number": "0000028401", "document_date": "2024-11-11", "primary_document_custom_name": "Документ списания маркированной продукции", "products": [ { "cis": "0104620200344645Ic:<LI_GZ" }, { "cis": "0104620200344645VlRETokir" }, { "cis": "01046202003446452JUDcSYu=" }, { "cis": "0104620200344645l2E!jw****XY" } ] }"
Код для отправки документа в 1с: " // Формирует JSON документа вывода из оборота // // Параметры: // Параметры – Структура – Параметры документа // // Возвращаемое значение: // Строка – JSON документа // Функция СформироватьJSONДокумента(Параметры)
// Формируем массив продуктов МассивПродуктов = Новый Массив; Для Каждого КодМаркировки Из Параметры.КодыМаркировки Цикл СтруктураПродукта = Новый Структура; СтруктураПродукта.Вставить("cis", КодМаркировки); МассивПродуктов.Добавить(СтруктураПродукта); КонецЦикла;
// Формируем структуру документа СтруктураДокумента = Новый Структура; СтруктураДокумента.Вставить("inn", Параметры.ИНН); СтруктураДокумента.Вставить("action", "OWN_USE"); СтруктураДокумента.Вставить("action_date", Формат(Параметры.ДатаДокумента, "ДФ=yyyy-MM-dd")); СтруктураДокумента.Вставить("document_type", "OTHER"); СтруктураДокумента.Вставить("document_number", Параметры.НомерДокумента); СтруктураДокумента.Вставить("document_date", Формат(Параметры.ДатаДокумента, "ДФ=yyyy-MM-dd")); СтруктураДокумента.Вставить("primary_document_custom_name", Параметры.НаименованиеПервичногоДокумента); СтруктураДокумента.Вставить("products", МассивПродуктов);
ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, СтруктураДокумента);
Возврат ЗаписьJSON.Закрыть();
КонецФункции
Функция СоздатьДокументВыводаИзОборота(Параметры, ПутьКСертификату, ПарольСертификата) Экспорт
// Формируем JSON документа ДокументJSON = СформироватьJSONДокумента(Параметры);
Сообщить("JSON документа="+СокрЛП(ДокументJSON)); // Подписываем документ Подпись = ПодписатьДанные(ДокументJSON, ПутьКСертификату, ПарольСертификата, ИСТИНА); Если Подпись = Неопределено Тогда Возврат ""; КонецЕсли; Сообщить("Открепленная подпись JSON документа="+СокрЛП(Подпись));
// Кодируем документ в Base64 ДокументBase64 = КодироватьВBase64(ДокументJSON);
// Формируем тело запроса ТелоЗапроса = Новый Структура; ТелоЗапроса.Вставить("document_format", "MANUAL"); ТелоЗапроса.Вставить("product_document", ДокументBase64); ТелоЗапроса.Вставить("type", "LK_RECEIPT"); ТелоЗапроса.Вставить("signature", Подпись);
// Отправляем запрос возвращUUIDДокумента = ""; Ответ = ВыполнитьЗапрос("POST", "/lk/documents/create?pg=tires", ТелоЗапроса, возвращUUIDДокумента); Сообщить("возвращUUIDДокумента="+СокрЛП(возвращUUIDДокумента)); Если Ответ = Неопределено Тогда //Сообщить(); Сообщить("Ошибка отпракви документа"); Возврат ""; КонецЕсли;
Возврат возвращUUIDДокумента; "