OData (Open Data Protocol) — это открытый веб-протокол для получения, добавления, удаления и обновления данных. OData позволяет выполнять операции с данными с помощью HTTP-запросов и получать ответы в формате JSON (подробнее о веб-протоколе и запросах можно ознакомиться тут https://www.odata.org/getting-started/). Доступ к данным посредством OData можно использовать, например:
Для включения OData в Bussiness Studio нужно включить опцию у пользователя, от которого будет запущено приложение, обслуживающее работу протокола. Настройка OData задается опцией «Разрешено использование OLE/OData» (Главное меню - Настройки пользователя - вкладка Дополнительно). При включенной опции запущенная БС будет обслуживать запросы OData. Задать номер порта можно используя ключ /port=НомерПорта в командной строке запуска приложения.
Внимание! Одновременно в Business Studio поддерживается работа одного запроса через OData. Если требуется одновременно выполнять несколько запросов - нужно запускать параллельно несколько Business Studio.
В запросах используются системные названия справочников и параметров, которые можно посмотреть в Объектной модели в Business Studio или в MetaEdit.
Метод запроса выбирается в зависимости от того, какая операция выполняется.
Для тестирования команд можно использовать Postman (https://www.postman.com/).
Для get запросов можно использовать следующие параметры:
$select, $expand, $filter, $orderby, $skip, $top, $apply.
Примеры:
Пример:
В теле запроса в JSON указываются поля для заполнения нового объекта:

{"@odata.id":
"http://localhost:9000/API/v1/OData/AppPlatform.Person('0x0010140000000000000000000000000000000000000000000000000000003D')",
"ID": "0x0010140000000000000000000000000000000000000000000000000000003D",
"ID_Parent": "0x00101400000000000000000000000000000000000000000000000000000000",
"LastName": "Иванов",
"Name": "Иванов Иван Иванович",
"OwnerSID": "dwEFAAAAAAAFFQAAAO26+HsXMtOVLBHtYz4GAAA=",
"FirstName": "Иван",
"InternalAuditor": false,
"ACL": null,
"guid": "da3f29c0-1f0c-4eb3-becc-7a8d93a75746",
"Patronymic": "Иванович"
}
Пример:
В теле запроса в JSON указываются поля, которые нужно изменить в объекте.

Пример:

В результате возвращается серверное сообщение «204 no content» и объект удаляется, либо появляется текст ошибки в теле ответа.