Система электронных паспортов (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) Да инструкция у них только общая. Все основные принципы работы в ней отражены. Но реализовывать приходится практически "вслепую".
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)