26.12.2024 14:20
Цитата:
FerroPanda Что мне с этим дальше делать?
оставить так, кроме этой строки, сюда вставить свой XML
ТелоЗапроса.ДобавитьСтроку(ТекстXML);
26.12.2024 15:39
Цитата:
FerroPanda Цель простая - отчёты по третьему регистру для общепита.
У меня аналогичная цель - свой запрос Справки1, кучу времени потратил пока получилось выгрузить запрос в УТМ из 1С.
Код выгрузки из 1С 8.3 в УТМ запроса на получение остатка по справке 2 (у себя проверил - работает) будет таким:

ИдентификаторФСРАР = "030000255595";
АдресУТМ = "192.168.80.24";
ПортУТМ = 8080;
Таймаут = 60;
НомерСправки2 = "FB-000007625828248";

Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
ИмяФайлаДляЗагрузки = КаталогВременныхФайлов() + "QueryRestBCode.xml";
ИмяФайлаОтвета = КаталогВременныхФайлов() + "answer.xml";

ОбъектXML = Новый ЗаписьXML();
ОбъектXML.ОткрытьФайл(ИмяФайлаДляЗагрузки);
ОбъектXML.ЗаписатьОбъявлениеXML();
ОбъектXML.ЗаписатьНачалоЭлемента("ns:Documents");
ОбъектXML.ЗаписатьАтрибут("Version", "1.0");
ОбъектXML.ЗаписатьСоответствиеПространстваИмен("ns", "http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01");
ОбъектXML.ЗаписатьСоответствиеПространстваИмен("qp", "http://fsrar.ru/WEGAIS/QueryParameters");
ОбъектXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
ОбъектXML.ЗаписатьНачалоЭлемента("ns:Owner");
ОбъектXML.ЗаписатьНачалоЭлемента("ns:FSRAR_ID");
ОбъектXML.ЗаписатьТекст(ИдентификаторФСРАР);
ОбъектXML.ЗаписатьКонецЭлемента();//ns:FSRAR_ID
ОбъектXML.ЗаписатьКонецЭлемента();//ns:Owner
ОбъектXML.ЗаписатьНачалоЭлемента("ns:Document");
ОбъектXML.ЗаписатьНачалоЭлемента("ns:QueryRestBCode");
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameters");
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameter");
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Name");
ОбъектXML.ЗаписатьТекст("ФОРМА2");
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Name
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Value");
ОбъектXML.ЗаписатьТекст(НомерСправки2);
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Value
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameter
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameter");
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Name");
ОбъектXML.ЗаписатьТекст("ОБЩЕПИТ");
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Name
ОбъектXML.ЗаписатьНачалоЭлемента("qp:Value");
ОбъектXML.ЗаписатьТекст("true");
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Value
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameter
ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameters
ОбъектXML.ЗаписатьКонецЭлемента();//ns:QueryRestBCode
ОбъектXML.ЗаписатьКонецЭлемента();//ns:Document
ОбъектXML.ЗаписатьКонецЭлемента();//ns:Documents
ОбъектXML.ЗаписатьТекст(Символы.ПС);
ОбъектXML.Закрыть();

ПостроительDOM = Новый ПостроительDOM;

ЧтениеXML=Новый ЧтениеXML ;
ЧтениеXML.ОткрытьФайл(ИмяФайлаДляЗагрузки);
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
ЧтениеXML.Закрыть();

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();

ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);

ТекстЗапроса = ЗаписьXML.Закрыть();

ТелоЗапроса = Новый ТекстовыйДокумент();
ТелоЗапроса.РазделительСтрок = Символы.CR+Символы.LF;
ТелоЗапроса.ДобавитьСтроку("--" + Boundary);
ТелоЗапроса.ДобавитьСтроку("Content-Disposition: form-data; name=""xml_file""; filename=""QueryRestBCode.xml");
ТелоЗапроса.ДобавитьСтроку("Content-Type: text/xml; charset=utf-8");
ТелоЗапроса.ДобавитьСтроку("");
ТелоЗапроса.ДобавитьСтроку(ТекстЗапроса);
ТелоЗапроса.ДобавитьСтроку("--" + Boundary + "--");
ТелоЗапросаСтрока = ТелоЗапроса.ПолучитьТекст();

ЗапросHTTP = Новый HTTPЗапрос("/opt/in/QueryRestBCode");
ЗапросHTTP.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
ЗапросHTTP.УстановитьТелоИзСтроки(ТелоЗапросаСтрока, КодировкаТекста.UTF8);

Соединение = Новый HTTPСоединение(
СокрЛП(АдресУТМ),
ПортУТМ,,,
,
Таймаут);

ОтветHTTP = Соединение.ОтправитьДляОбработки(ЗапросHTTP, ИмяФайлаОтвета);
ТекстОтвета = ОтветHTTP.ПолучитьТелоКакСтроку();
ЗапросHTTP = Неопределено;
ЧтениеОтвета = Неопределено;
27.12.2024 15:29
volk13, подскажите, у вас проверка марок по фильтру УТМ с какой скоростью происходит?
У меня получается в среднем где-то 2 секунды на каждую марку и при этом как-то неравномерно - то 2-3 штуки за секунду, то 1 марка 3-4 секунды висит. Правда проверка идёт с сервера на ПК с утмом.
27.12.2024 15:32
Цитата:
FerroPanda где-то 2 секунды на каждую марку
можно несколько марок отправлять, ограничение кажется 10000 марок в запросе
27.12.2024 15:49
За пару секунд все 10000 проверяются. Правда, локально, УТМ на том же компе, с которого запрос.
27.12.2024 15:55
Цитата:
MWWRuza За пару секунд все 10000 проверяются.
поштучно или пачкой?
27.12.2024 17:41
Пачками, по 10000 около 100000 за раз, в цикле, разбивкой по 10000.
27.12.2024 17:59
Цитата:
MWWRuza Пачками, по 10000 около 100000 за раз, в цикле, разбивкой по 10000.
а как вы отправляете пачку? там же запрос строкой идёт
Цитата:
хттп://192.168.88.34:8080/api/mark/check?code=192309974147591222001IFJWUOQRZCI3RCTJB76EYWLYC10N5DHQFAWTZZP6AIEAMA6B3CRMFNF7IKZHB4TNN6KN3QWSJL43GXUQV5K62J6MYY3ORO2RBIZEUNVDFPPNFCCIU5X7LNTS4VFEUTTGA[
27.12.2024 18:16
через Post запрос, а не GET
27.12.2024 18:19
Запрос /opt/in/QueryFilter


<ns:Documents xmlns:ns="ht tp://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:oref="http :/ /fsrar.ru/WEGAIS/ClientRef" xmlns:pref="htt p:// fsrar.ru/WEGAIS/ProductRef" xmlns:qp="ht tp://fsrar.ru/WEGAIS/QueryFilter" xmlns:xs="ht tp://www.w3.org/2001/XMLSchema" xmlns:xsi="htt p://www.w3.org/2001/XMLSchema-instance">
<ns:Owner>
<ns:FSRAR_ID>.........</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:QueryFilter>
<qp:bc>198...</qp:bc>
<qp:bc>198....</qp:bc>
....
</ns:QueryFilter>
</ns:Document>
</ns:Documents>
Часовой пояс GMT +3, время: 09:45.

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