Имя: Пароль:
1C
1С v8
REST API (OData): как за один ХТТП-запрос обновить объект БД, не зная его ГУИД?
0 Cyberhawk
 
19.01.17
21:31
Обновление объекта ПУТ-/ПАТЧ-запросом, зная его ГУИД, проверил - работает: https://its.1c.ru/db/v838doc#bookmark:dev:TI000001374

А как за один ХТТП-запрос обновить объект, используя поиск по значению реквизита объекта?
Сделал ПАТЧ-запрос для объекта с поиском не по ГУИДу, добавив в "заголовок" (а вернее в URL) параметры $filter и $top.
По итогу ГЕТ-запрос с такими параметрами возвращает мне несколько или один элемент <entry> (объект, удовлетворяющий отбору).

А вот в ПАТЧ-запросе вываливается ошибка с кодом 19: "Использованный HTTP метод запрещен в данном контексте" https://its.1c.ru/db/v839doc#bookmark:dev:TI000001367

Пока делаю вывод, что за один ХТТП-запрос нельзя обновить объект БД, не зная его ГУИДа: нужно сначала ГЕТ-запросом получить ГУИД объекта, а затем уже изменять его ПАТЧ-/ПУТ-запросом.
Если кто-то достиг результата за один ХТТП-запрос - поделитесь.
1 Cyberhawk
 
22.01.17
19:38
Судя по ответам в ветке на ИС (https://goo.gl/qll63N), мой вывод пока подтверждается
2 Asmody
 
22.01.17
19:44
(0) Твое желание противоречит концепции REST.
3 Баобаболюб
 
22.01.17
19:46
(0) Всё хочу начать разбираться с этими Одатами, но нет задач или я просто не шарю где это использовать. Ты какую задачу решаешь?
4 Cyberhawk
 
23.01.17
10:12
(2) Почему?
5 Курцвейл
 
23.01.17
10:17
(0) Обратись к гуиду ПланОбмена и отдай ему хтмл с пакетом объектов для обновления.
Ну само собой зарегай что прошел обмен по конкретному Плану
6 Asmody
 
23.01.17
10:59
(4) Потому что REST предусматривает однозначный уникальный URI объекта.