|
Проблема с PATCH запросом ODATA при обновлении табличной части элемента.
| ☑ |
0
НачинающийВ1С
14.05.19
✎
18:02
|
Добрый день.
В общем, возможно кто-то знает, как, зная гуид, можно обновить табличную часть элемента?
Пытаюсь вот так делать:
Код такой:
HTTPЗапрос = Новый HTTPЗапрос("ИмяБазы/odata/standard.odata/"+МойОбъект+"('"+Элемент.Гуид+"')?$format=json");
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
HTTPЗапрос2 = Новый HTTPЗапрос("ИмяБазы/odata/standard.odata/"+МойОбъект_ТабличнаяЧасть+"?$format=json&$filter=Ref_Key eq guid'"+Элемент.Гуид+"'");
HTTPЗапрос2.УстановитьТелоИзСтроки(ТелоЗапроса);
HTTPОтвет = СоединениеHTTP.ВызватьHTTPМетод("PATCH",HTTPЗапрос);
Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
HTTPОтвет2 = СоединениеHTTP.ВызватьHTTPМетод("PATCH", HTTPЗапрос2);
Ответ2 = HTTPОтвет2.ПолучитьТелоКакСтроку();
При этом первый запрос отрабатывает как надо, а вот второй запрос выдает: "value": "Использованный HTTP метод запрещен в данном контексте"
Может кто-то сталкивался?
|
|
1
НачинающийВ1С
15.05.19
✎
08:53
|
Нет ни у кого идей?
|
|
2
НачинающийВ1С
15.05.19
✎
10:51
|
up
|
|
3
НачинающийВ1С
15.05.19
✎
13:18
|
up
|
|
4
bolero
15.05.19
✎
15:26
|
(0) запросом PATCH шлешь документ, в нем табличную часть
от документа нужна только ссылка
табличную часть если шлешь - то шлешь целиком, иначе будет 500
проще всего получить целиком документ, у него взять ТЧ, поменять чего надо и отослать обратно
|
|
5
НачинающийВ1С
15.05.19
✎
15:33
|
(4) а можно пример какой-нибудь?
|
|
6
bolero
15.05.19
✎
16:07
|
(5) пжста! только у меня нет примера на 1с-ных языках
doc = ut.get('Document_ЗаказНаПеремещение', ref)
patch = {'Товары': doc['Товары']}
for row in patch['Товары']:
if row['КодСтроки'] in rowcodes:
row['Отменено'] = True
ut.patch('Document_ЗаказНаПеремещение', ref, patch)
|
|
7
НачинающийВ1С
15.05.19
✎
16:14
|
(6) Спасибо. Буду пробовать
|
|
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн