0
ProDeveloper
28.05.15
✎
16:59
|
Все попытки тщетны. Перерыв весь интернет нашел только это Модификация существующих данных выполняется PATCH-запросом. Например, изменение данных одного элемента справочника Goods по GUID’у:
PATCH /OData_Tests_Infobase/odata/standard.odata/Catalog_Goods(guid'7f4b5034-0331-11e3-b914-5404a6a68c42')
На ИТС это - Для обновления объекта необходимо выполнить PUT-/PATCH-запрос с использованием канонического URL сущности (аналогично запросу GET для получения сущности), передав в теле запроса XML-документ (в формате atom), который содержит значения свойств сущности.
В случае PATCH-запроса пропущенные свойства сущности будут проигнорированы, т. е. будут изменены только те свойства, которые переданы в запросе на изменение. Для PUT-запроса необходимо указывать значения всех свойств обновляемой сущности.
Соединение = Новый HTTPСоединение ("p-1c01",80,"Администратор","801481308",,Ложь);
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("PATCH ') HTTP/1.1");
ЗаголовокHTTP.Вставить("Content-Type", "application/atom+xml");
ЗаголовокHTTP.Вставить("DataServiceVersion", "3.0;NetFx");
ЗаголовокHTTP.Вставить("MaxDataServiceVersion", "3.0;NetFx");
ЗаголовокHTTP.Вставить("Accept", "application/atom+xml,application/xml");
ЗаголовокHTTP.Вставить("Accept-Charset", "UTF-8");
ЗаголовокHTTP.Вставить("User-Agent", "1C-Enterprise");
ЗаголовокHTTP.Вставить("Host", "p-1c01:80");
ТекстЗапроса =
"<?xml version=""1.0"" encoding=""utf-8""?>
|<entry xmlns="";
| xmlns:d="";
| xmlns:m="";
| xmlns:georss="";
| xmlns:gml="";
|
| <category term=""EnterpriseV8.DocumentЗаявкаНаРасходованиеДенежныхСредств"" scheme=""; />
| <content type=""application/xml"">
| <m:properties>
| <d:Статус>Согласована</d:Статус>
| </m:properties>
| </content>
|</entry>";
Запрос = Новый HTTPЗапрос("tdwork/odata/standard.odata/Document_ЗаявкаНаРасходованиеДенежныхСредств", ЗаголовокHTTP);
Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ОтветВВидеСтроки = Ответ.ПолучитьТелоКакСтроку("UTF-8");
Сообщить(ОтветВВидеСтроки);
не взлетает
|
|
1
ProDeveloper
28.05.15
✎
17:13
|
Может кому пригодиться, методом научного тыка взлетел следующий код
Соединение = Новый HTTPСоединение ("p-1c01",80,"Администратор","801481308",,Ложь);
ЗаголовокHTTP = Новый Соответствие();
ТекстЗапроса =
"<?xml version=""1.0"" encoding=""utf-8""?>
|<entry xmlns="";
| xmlns:d="";
| xmlns:m="";
| xmlns:georss="";
| xmlns:gml="";
|
| <category term=""StandardODATA.Document_ЗаявкаНаРасходованиеДенежныхСредств"" scheme=""; />
| <content type=""application/xml"">
| <m:properties>
| <d:Статус>Согласована</d:Статус>
| </m:properties>
| </content>
|</entry>";
Запрос = Новый HTTPЗапрос("tdwork/odata/standard.odata/Document_ЗаявкаНаРасходованиеДенежныхСредств(guid'3c2377f4-dec5-11e4-90c9-002590d43372')", ЗаголовокHTTP);
Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Ответ = Соединение.ВызватьHTTPМетод("PATCH", Запрос);
ОтветВВидеСтроки = Ответ.ПолучитьТелоКакСтроку("UTF-8");
Сообщить(ОтветВВидеСтроки);
|
|