27.12.2024 18:57
Цитата:
FerroPanda volk13, подскажите, у вас проверка марок по фильтру УТМ с какой скоростью происходит?
у меня 2 секунды весь список скопом

ps. подробности смотрю уже написали вам выше
pps. посмотрите инструкцию (выше прикладывал), там это всё есть (как списком отправлять, и т.д.)
27.12.2024 19:11
Цитата:
volk13 посмотрите инструкцию (выше прикладывал)
в другой теме вашей.. ))
прикладываю и тут

https://storage.olegon.ru/supermag/u...0_b2600.pdf.7z
(3.11Мб)
27.12.2024 21:20
Запрос POST. Марки передаются списком. В сам запрос список передается преобразованной из него строкой JSON.
Если надо - завтра смогу скинуть модуль из 7.7, там все, и формирование списка и сам запрос... Сегодня без интернета сижу, с мобильника... У РосТелекома какая-то авария в нашем районе. Обещают завтра к 9.45 починить
27.12.2024 21:48
Тьфу, блин... Соврал...
Это-же ЕГАИС, а последнее время с ЧЗ работать приходится, там JSON, все, что по ЕГАИС - давно сделано и работает.
Здесь не JSON, здесь XML. Файл XML во временный каталог сохраняю, его в запрос передаю.
Обратно прилетает так-же XML.
10.01.2025 14:17
Цитата:
Igor_NP ПостроительDOM = Новый ПостроительDOM;
ЧтениеXML=Новый ЧтениеXML ;
ЧтениеXML.ОткрытьФайл(ИмяФайлаДляЗагрузки);
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
ЧтениеXML.Закрыть();
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);
ТекстЗапроса = ЗаписьXML.Закрыть();
Igor_NP, можете объяснить что тут делается? ... не могу понять смысл операций. Я просто XML формирую немного по-другому, сохраняю в файл и в принципе этот файл мне и нужно запихнуть в УТМ. Если ручками, то запрос нормально уходит, а если из обработки, то ...
Цитата:
<tc:Comments>org.xml.sax.SAXException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.</tc:Comments>
13.01.2025 09:02
Цитата:
FerroPanda Igor_NP, можете объяснить что тут делается? ... не могу понять смысл операций. Я просто XML формирую немного по-другому, сохраняю в файл и в принципе этот файл мне и нужно запихнуть в УТМ. Если ручками, то запрос нормально уходит, а если из обработки, то ...
Цитата:
<tc:Comments>org.xml.sax.SAXException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.</tc:Comments>
Проверьте заголовок файла. У вас похоже нет пролога
"<?xml version="1.0" encoding="UTF-8" ?>"
13.01.2025 09:26
Цитата:
FerroPanda Igor_NP, можете объяснить что тут делается? ...
Не настолько понимаю код 1С чтобы правильно объяснить что тут делается, работает и хорошо, не трогаю.

С учетом того, что в УТМ нужно передавать именно файл:

Нажмите на изображение для увеличения
Название: Внимание.jpg
Просмотров: 12
Размер:	35.0 Кб
ID:	12676

А файл передается через запрос к УТМ, а не напрямую, то так понимаю все эти танцы с бубном нужны чтобы правильно сформировать текст такого запроса. Для данного примера передаваемый текст запроса у меня такой:

--4b7d60480d674e89beb63ef2ad0c6cda
Content-Disposition: form-data; name="xml_file"; filename="QueryRestBCode.xml
Content-Type: text/xml; charset=utf-8

<?xml version="1.0"?>
<ns:Documents xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:qp="http://fsrar.ru/WEGAIS/QueryParameters" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.0">
<ns:Owner>
<ns:FSRAR_ID>030000255595</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:QueryRestBCode>
<qp:Parameters>
<qp:Parameter>
<qp:Name>ФОРМА2</qp:Name>
<qp:Value>FB-000007625828248</qp:Value>
</qp:Parameter>
<qp:Parameter>
<qp:Name>ОБЩЕПИТ</qp:Name>
<qp:Value>true</qp:Value>
</qp:Parameter>
</qp:Parameters>
</ns:QueryRestBCode>
</ns:Document>
</ns:Documents>
--4b7d60480d674e89beb63ef2ad0c6cda--

Вот он и выгружается в УТМ.
13.01.2025 13:18
Цитата:
_R2D2_ Проверьте заголовок файла. У вас похоже нет пролога
"<?xml version="1.0" encoding="UTF-8" ?>"
так ошибка наоборот - есть данные перед прологом, а их не должно быть.
Прочитал где-то про какой-то BOM ... подозреваю проблема в этом, но так и не понял как это победить.


Цитата:
Igor_NP Не настолько понимаю код 1С чтобы правильно объяснить что тут делается, работает и хорошо, не трогаю.
Такая же история.)))
Файл у меня получается такой же как у вас.
Просто добавил код с DOM и всё заработало.
Механизм построения XML сделал такой

Код:
ТекстЗапроса = Новый ТекстовыйДокумент();  
	ТекстЗапроса.Очистить();
	ТекстЗапроса.ДобавитьСтроку("<?xml version=""1.0"" encoding=""UTF-8""?>
                                 |<ns:Documents xmlns:ns=""http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01""
                                 |    xmlns:qp=""http://fsrar.ru/WEGAIS/QueryParameters""
                                 |    xmlns:xs=""http://www.w3.org/2001/XMLSchema""
                                 |    xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
                                 |  <ns:Owner>");
	ТекстЗапроса.ДобавитьСтроку("<ns:FSRAR_ID>" + Строка(ОрганизацияЕГАИС.Код) + "</ns:FSRAR_ID>");  
	ТекстЗапроса.ДобавитьСтроку("</ns:Owner>
                                 |  <ns:Document>
                                 |    <ns:QueryRestBCode>
                                 |      <qp:Parameters>
                                 |        <qp:Parameter>
                                 |          <qp:Name>ФОРМА2</qp:Name>");	
	ТекстЗапроса.ДобавитьСтроку("<qp:Value>" + Строка(Справка2) + "</qp:Value>");
	ТекстЗапроса.ДобавитьСтроку("        </qp:Parameter>
                                 |	<qp:Parameter>
                                 |	 <qp:Name>ОБЩЕПИТ</qp:Name>
                                 |	 <qp:Value>true</qp:Value>
                                 |	</qp:Parameter>
                                 |      </qp:Parameters>
                                 |    </ns:QueryRestBCode>
                                 |  </ns:Document>
                                 |</ns:Documents>");
	
	Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
	ИмяФайлаДляЗагрузки = "C:\1C_exchange\" + "QueryRestBCode.xml";
	ИмяФайлаОтвета = "C:\1C_exchange\" + "answer.xml";
	ТекстЗапроса.Записать(ИмяФайлаДляЗагрузки, КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);
	
	ПостроительDOM = Новый ПостроительDOM;
Дальше как у вас.

В принципе в плане сделать формирование запросов в отдельной папке допустим по документу остатков и потом регламентом отправлять запросы каждые 35 минут, а ответы складывать в другую папку. Ну это такое ... предварительные мысли.

Правка: FerroPanda, 13.01.2025 13:26
13.01.2025 14:00
Цитата:
FerroPanda Механизм построения XML сделал такой
13.01.2025 14:46
Пробел?
Что-то я у себя не вижу никаких пробелов, и так все работает:



Если что - формирую через MS DOM и отправляю через Win HTTP из 1с7.7...
С механизмами снеговика для этих целей, не разбирался, не подскажу, но, похоже проблема не в самом ХМЛ...
Часовой пояс GMT +3, время: 11:39.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.