Система электронных паспортов (ELPTS) - кто сталкивался?

1. al-e-ks 03.02.22 17:43 Сейчас в теме
Приветсвую.

Недавно возникла необходимость для учета транспонтных стедств (например для тех, кто знаимается производством) в некой Системе Электронных Паспортов. Нечто похожее на систему ЧестныйЗнак с их кодами маркировки...

В общем у меня имеется задача наладить связь между 1С и этой системой. Т.к. работа веб-кабинете epts - это долгий и непродуктивный труд с копированием/вводом кучицифр и названий...

На https://elpts.ru в целом можно найти документацию, при должном упорстве и связью с тех-поддержкой даже некие файлы.xml-примеры (в виде xsd-схем), тех.документацию по их формированию, описание веб-сервиса (ссылки на тестовую площадку)..

Вроде бы.. при наличии веб-сервиса и получения wsdl-схемы процесс должен быть очень прост: подключился, сформировал фабрику-xdto, заполнил все теги для нужно тебе операции, и получил ответ-результат... однако после долгих мучей так и не смог заполнить все теги - фабрика создается криво, некоторые теги не определяются, а результирующая xml-ка отличается от примера (как раз там. где не определяется, а соответсвенно и не заполняется нужный тег).

Второй вариант - по xsd-схемам (которые любезно предоставлены в закрытом разделе тех.поддержки, что странно..) можно обойтись без веб-сервиса и сформировать нужную xml-ку, а потом её уже перелсать через веб-запрос, получить ответ... но и тут средствами 1С файл создается какой-то кривой.. обрезанный. Да, теги (что не определялись в первом варианте через web-сервис по схеме wsdl) заполняются, но структура результирующего файла совершенно отличается от примера, который требуется для передачи в запрос.

Остается третий вариант - присать от и до файл xml вручную, как в блокноте. Ну либо чуть проще взять файл-пример и подменять значения тегов на свои, что в прицнипе сути не меняет...

В любом случае, остается необходимость (в 2м и 3м) передачи файла через HTTPСоединение на сервер ELTPS, а там отдельная история с авторизацией, защищенным соединением и цифровыми подписями... в этом я не слишком силен и, к сожалению.

Сама тех.подержка отвечает с интервалом в 2-6 часов в стиле "Документацию можете найти по ссылке...", "Попробуйте выполнить всё, согласно примерам" и т.п. Хоть по их словам, с их системой "работает большое множество партёнов на базе 1С", мне как-то слабо в это верится: нерабочае wsdl-описание, ни слова про 1С в документации, ни вметяемых ответов от техподдержки...

Кто-нибудь уже сталкивался с реализацией взаимодействием 1С с ELPTS? Получилось ли наладить процесс хоть как-то? Кто может поделиться опытом?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dav1984 14.06.22 10:45 Сейчас в теме
(1)здравствуйте! Удалось решить задачу? тоже не могу найти хоть какую то информацию по интеграции
3. al-e-ks 20.06.22 12:24 Сейчас в теме
(2) Нет, отложил в долгий ящик.
Для 1С у них нет нормальной интеграции. При классическом использовании веб-сервиса возникают ошибки с некорретной wsdl-схемой (не верное описание некоторых тегов). Ответ тех.поддержки был такой, что да, ошибки есть некоторые, не критичные (по-их мнению) и решать это они не собираются, т.к. уже кто-то ("большое количество пользователей") наладил обмен и внесение изменений в эту схему может вызвать у них проблемы.
4. Artread 29.08.23 09:33 Сейчас в теме
(2) Здравствуйте, а вам? :)
5. LexeyFan 04.12.23 09:35 Сейчас в теме
Коллеги, удалось кому -нибудь сделать интеграцию? Не поделитесь примерами?
9. elena_ar 14.02.24 15:51 Сейчас в теме
(5) Вам удалось получить xsd схему для формировании файла xml?
11. LexeyFan 21.02.24 17:11 Сейчас в теме
(9) Вообщем удалось подписать и отправить XML, но не собирал XSD - Вернее не удалось каноникализировать потом, по wsdl тоже не удалось, итог я через SUAPUI беру необходимые XML заполняю, подписываю стандартным БСП методом и все работает
XML в макет нужно положить
Кому нужно(код написан на коленке):
&НаКлиенте
Процедура Тест2(Команда)
	текстXML_ = ЗаполнениеМакетаСтатус();
	XMLИсходный  =текстXML_;
	ФорматироватьXML(текстXML_);
	КонвертXML  =текстXML_;

	ТекстЗапроса=КонвертXML;
	 	// Компонента = КомпонентаПодписи();
	ПараметрыXMLDSig=ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig();
	ПараметрыXMLDSig.XPathSignedInfo       = "(//. | //@* | //namespace::*)[ancestor-or-self::*[local-name()='SignedInfo']]";
	ПараметрыXMLDSig.XPathПодписываемыйТег = "(//. | //@* | //namespace::*)[not(ancestor-or-self::ds:Signature)]";
	ПараметрыXMLDSig.ИмяАлгоритмаПодписи = "GR 34.10-2012 256";
	ПараметрыXMLDSig.OIDАлгоритмаПодписи = "1.2.643.7.1.1.3.2";
	ПараметрыXMLDSig.ИмяАлгоритмаХеширования = "GR 34.11-2012 256";
	ПараметрыXMLDSig.OIDАлгоритмаХеширования = "1.2.643.7.1.1.2.2";
	ПараметрыXMLDSig.АлгоритмПодписи     ="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256";
	ПараметрыXMLDSig.АлгоритмХеширования = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256";
	СтруктураПодписи = Новый Структура("КонвертSOAP,ПараметрыXMLDSig"); 
	
	  //ПараметрыКонверта=Неопределено;
	// ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML(); 
	// ПараметрыКонверта.СообщениеXML = ТекстЗапроса ;
	СтруктураПодписи.КонвертSOAP = ТекстЗапроса;//ЭлектроннаяПодписьКлиент.КонвертXML(ПараметрыКонверта);
	СтруктураПодписи.ПараметрыXMLDSig = ПараметрыXMLDSig;
	ОписаниеДанных = Новый Структура;
	ОписаниеДанных.Вставить("Операция", "ПодписаниеДанных");
	ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание хмл файла - " );
	ОписаниеДанных.Вставить("Данные", СтруктураПодписи);
	ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьРезультатПодписи", ЭтотОбъект); 
	ЭлектроннаяПодписьКлиент.Подписать( ОписаниеДанных, Неопределено, ОписаниеОповещения)

КонецПроцедуры
 &НаКлиенте
Процедура ОбработатьРезультатПодписи(РезультатПодписи, ДополнительныеПараметры=Неопределено) Экспорт
	Если не РезультатПодписи.Успех  Тогда  
		ОТвет ="Ошибка при подписании";
		Для каждого Элемент Из РезультатПодписи.Данные.ПараметрыXMLDSig Цикл
			ОТвет =ОТвет+Символы.ПС + Элемент.Ключ + " = " + Элемент.Значение;
		КонецЦикла; 
		
		//  Сообщить("Ошибка при подписании: " + РезультатПодписи.ОписаниеОшибки);
		Возврат;
	КонецЕсли;
	
	
	// Сохраняем подписанный документ 
	ПодписанныйXML = РезультатПодписи.СвойстваПодписи.Подпись;   // ПодписанныйXML = РезультатПодписи.Данные.КонвертSOAP ;
	XMLПодпись="<?xml version=""1.0"" encoding=""UTF-8""?>" + Символы.ПС + ПодписанныйXML;  
КонецПроцедуры

Функция ЗаполнениеМакетаСтатус()	
	Обработка =  РеквизитФормыВЗначение("Объект");
	МакетТекст = Обработка.ПолучитьМакет("status4").ПолучитьТекст(); 
	//[MessageID]
	//[Mnemonic]
	//[HumanReadableName]
	//[SendingTimestamp]
	//[VIN]
	МакетТекст=СтрЗаменить(МакетТекст,"[MessageID]",Новый УникальныйИдентификатор());
	МакетТекст=СтрЗаменить(МакетТекст,"[Mnemonic]","***************");
	МакетТекст=СтрЗаменить(МакетТекст,"[HumanReadableName]","************");
	МакетТекст=СтрЗаменить(МакетТекст,"[SendingTimestamp]",ДатуВTimestamp(ТекущаяДата()));
	МакетТекст=СтрЗаменить(МакетТекст,"[VIN]","ALEDALVSEPTEM1749");
	Возврат МакетТекст; 
	
	
КонецФункции

Функция ДатуВTimestamp(пДата = Неопределено)  
	Возврат Формат(ТекущаяДата(), "ДФ=yyyy-MM-ddThh:mm:ss.000+03:00");
	//Возврат Формат(Число(?(ТипЗнч(пДата) = Тип("Дата"), пДата, ТекущаяДата())-Дата("19700101")),"ЧН=0; ЧГ=0");
КонецФункции

Процедура ФорматироватьXML(ТекстXML) 
	ТекстXML = СтрЗаменить(ТекстXML, символ(13)+символ(10),символ(10));
	ТекстXML = СтрЗаменить(ТекстXML, символ(13),символ(10));
    ТекстXML = СтрЗаменить(ТекстXML, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?>", ""); 
	ТекстXML = СтрЗаменить(ТекстXML, "<?xml version=""1.0"" encoding=""UTF-8""?>", "");
КонецПроцедуры

Показать
Прикрепленные файлы:
новый 37.txt
12. elena_ar 15.03.24 15:02 Сейчас в теме
(11) Спасибо большое, разобралась. Схемы xsd получила у постановщика, загрузила в конфигурацию, заполнила сформировался файл xml. Сейчас на этапе подписания. Если есть вопросы по схемам пишите, подскажу.
13. LexeyFan 15.03.24 18:53 Сейчас в теме
(12) Увы не смогли подписать собранный XML из схем xsd, поэтому решили остановиться на схеме, что XML в виде текста загружен в макет и его заполняем.
14. elena_ar 18.03.24 16:34 Сейчас в теме
(13)интересно, а в че была сложность в использовании схем? что не правильно оказалось?
16. LexeyFan 21.03.24 15:49 Сейчас в теме
(14) не удавалось корректно подписать xml
15. elena_ar 21.03.24 15:17 Сейчас в теме
(13) Скажите пожалуйста, структуры файлов Xml под запросы выписки, тех ошибки или гарантийный обязательства не делали? в инструкциях нет даже примера, только общее описание. не понятно какие схемы использовать
17. LexeyFan 21.03.24 15:52 Сейчас в теме
(15) Нет, сделали смену владельца (Юр лицо/Физ лицо), сделали получение полного отчета по автомобилю, дальше не вникали. Вам удалось через XSD получить и подписать XML?
18. elena_ar 22.03.24 13:56 Сейчас в теме
(17) сформировала xml файл, написала код для подписания, но там проблема с самим сертификатом, специалисты смотрят. Пока не подписывала.
6. webvasya 11.12.23 14:49 Сейчас в теме
Коллеги, доброго дня!
Кому-нибудь удалось реализовать интергацию?
7. webvasya 08.02.24 15:28 Сейчас в теме
У меня удалось на текущий момент написать обмен. Но есть огромная проблема с электронным подписанием исходящей XMLки. Необходимо подписывать целиком весь soap конверт. Типовая БСПшная подпись не работает так.
8. elena_ar 14.02.24 15:05 Сейчас в теме
(7) Подскажите пожалуйста, тех поддержка https://elpts.ru/ предоставила xsd схемы для создания пакета xdto ?
сама сейчас работаю над подобной задачей, кроме общего описания нет информации никакой.
10. webvasya 16.02.24 13:26 Сейчас в теме
(8) Да инструкция у них только общая. Все основные принципы работы в ней отражены. Но реализовывать приходится практически "вслепую".
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот