Имя: Пароль:
1C
1С v8
Формирование xml текста
0 zippygrill
 
24.12.15
10:04
Привет!
Формирую запрос остатков для УТМ. В документации есть 2 тэга(именно QueryRests)

<ns:Document>
<ns:QueryRests></ns:QueryRests>
</ns:Document>

и никак не получается через ЗаписьXML получить эти 2 тэга...

Пишу

ЗаписьXML.ЗаписатьНачалоЭлемента("ns:Document");
ЗаписьXML.ЗаписатьНачалоЭлемента("ns:QueryRests");
    
ЗаписьXML.ЗаписатьКонецЭлемента();//QueryRests
ЗаписьXML.ЗаписатьКонецЭлемента();//Document

в итоге выходит так

<ns:Document>
    <ns:QueryRests/>
</ns:Document>

Через текстовый документ не хочется писать..
1 mikecool
 
24.12.15
10:05
емнип - это нормальная запись
2 zippygrill
 
24.12.15
10:06
(1) так УТМ её схавает?))
3 Рэйв
 
24.12.15
10:06
(2)Это стандарт пустого тега
4 Рэйв
 
24.12.15
10:07
(2)поставь там хоть полбел чтоли в значении - тогда закроет по человечески
5 Рэйв
 
24.12.15
10:07
*пробел
6 zippygrill
 
24.12.15
10:08
окей. спс
7 IVT_2009
 
24.12.15
10:26
&наСервере
функция создатьЗапросНаОстатки() ЭКСПОРТ
    
    стр = "<?xml version=""1.0"" encoding=""UTF-8""?>
    |<ns:Documents Version=""1.0""
    |xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"";
    |xmlns:ns=""http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01"";
    |xmlns:qp=""http://fsrar.ru/WEGAIS/QueryParameters"">;
    |<ns:Owner>
    |    <ns:FSRAR_ID>[рарИД]</ns:FSRAR_ID>
    |</ns:Owner>
    |<ns:Document>
    |    <ns:QueryRests></ns:QueryRests>
    |</ns:Document>
    |</ns:Documents>";
    
    стр = стрЗаменить(стр,"[рарИД]"        ,константы.текущийТранспорт.Получить().код);
        
    ФайлОтвета     = ПолучитьИмяВременногоФайла("xml");
    boundary     = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
    
    стрЗапроса = "--"+boundary+"
    |Content-Disposition: form-data; name=""xml_file""; filename=""client_2624022231.xml""
    |Content-Type: text/xml
    |
    |"+стр+символы.ПС+
    "--"+boundary+"--";
    
    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Content-Type"    , "multipart/form-data; boundary= "+boundary);
    Заголовки.Вставить("User-Agent"        , "curl");      
    Заголовки.Вставить("Accept"            , "application/xml");
    Заголовки.Вставить("Content-Length"    , стрДлина(стрЗапроса));
        
    ОтправкаЗапроса = новый HTTPСоединение(константы.текущийТранспорт.Получить().адресСервера);
    НовыйЗапрос     = новый HTTPЗапрос("/opt/in/QueryRests",Заголовки);
        
    новыйЗапрос.УстановитьТелоИзСтроки(стрЗапроса,КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать);
    
    Результат         = ОтправкаЗапроса.ОтправитьДляОбработки(НовыйЗапрос,ФайлОтвета);
    ЧтениеОтвета     = Новый текстовыйДокумент;
    ЧтениеОтвета.прочитать(Результат.ПолучитьИмяФайлаТела());
    возврат  ЧтениеОтвета.ПолучитьТекст();

конецФункции    //функция создатьЗапросНаОстатки() ЭКСПОРТ