Цитата: MWWRuza ➤ В некоторых случаях даже и сохранять не нужно - так в запрос строкой передается.
А так, передаю DOM вообще не сохраняя в файл:
Функция ВыгрузитьDOM(XML_DOM, URL) Экспорт
// СохранитьВРезервноеХранилище(XML_DOM, URL, "in", "in");
Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Это=Скрипт.Eval("this");
BOUNDARY = "BOUNDRYxXxXxEGAISxXxXxBOUNDARY";
POST_STRING = "--"+BOUNDARY+РазделительСтрок;
POST_STRING = POST_STRING + "Content-Disposition: form-data; name=""xml_file""; filename=""select.xml""" + РазделительСтрок;
POST_STRING = POST_STRING + "Content-Type: text/xml; charset=utf-8" + РазделительСтрок + РазделительСтрок;
POST_STRING = POST_STRING + XML_DOM.xml + РазделительСтрок + РазделительСтрок;
POST_STRING = POST_STRING + "--" + BOUNDARY + "--" + РазделительСтрок;
WinHttp=СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
Скрипт.AddObject("WinHttp",WinHttp);
WinHttp.Open("POST", URL, 0);
WinHttp.SetRequestHeader("Content-Type", "multipart/form-data; boundary=" + BOUNDARY);
WinHttp.SetRequestHeader("Content-Length", СтрДлина(POST_STRING));
WinHttp.Send(POST_STRING);
Если WinHTTP.Status<>200 Тогда
Предупреждение("Не удалось выгрузить документ. Возможно служба УТМ не запущена.");
Возврат "";
КонецЕсли;
Стрим = СоздатьОбъект("ADODB.Stream");
Стрим.Mode = 3;
Стрим.Type = 1;
Стрим.Open();
Скрипт.AddObject("Stream",Стрим);
Скрипт.Eval("Stream.Write(WinHttp.responseBody)");
Стрим.Position = 0;
Стрим.Type = 2;
Стрим.Charset = "utf-8";
Ответ = Стрим.ReadText();
Стрим.Close();
// СохранитьВРезервноеХранилище(XML_DOM, URL, "in", "in");
XML_DOM=CreateObject("MSXML2.DOMDocument.6.0");
XML_DOM.LoadXML(Ответ);
СохранитьВРезервноеХранилище(XML_DOM, URL, "in", "answer");
WinHttp = 0;
Возврат XML_DOM;
КонецФункции
Это целиком рабочая функция отправки DOM в УТМ и получение результата.