2.3.5 Добавление записей в справочник
Допустим, надо добавить новую запись в справочник регионов (REGION_CL).
Добавление, удаление и изменение данных производятся только через пакетные команды. Пакет команд помещается в тело POST запроса с Content-Type: application/x-www-form-urlencoded; charset=UTF-8 в кодировке UTF8. Адрес (всегда одинаковый для пакетных команд):
|
<адрес сервиса>/CoreHost/OData/$changes
|
Пакет команд:
|
[ {
"url": "REGION_CL",
"method": "POST",
"data": {
"DUE": "0.-10000",
"CLASSIF_NAME": "Край света"
}
}]
|
Результатом выполнения пакетных команд всегда является массив в формате JSON, где каждый элемент – результат выполнения соответствующей команды. Для команды добавления записи – это назначенный новой записи идентификатор. В данном случае идентификатор строковый и содержащий в себе иерархическую структуру справочника.
Результат:
|
[
{"statusCode":201,"data":{"OData.metadata":"../$metadata#MapItemString","TempISN":null,"FixedISN":null,"ID":"0.2EZIZ.","TempID":"0.-10000"}}]
|
Проверяем, что такой объект был добавлен. Запрос:
|
<адрес сервиса>/CoreHost/OData/REGION_CL(%270.2EZIZ.%27)
|
Результат:
|
{"OData.metadata":"../$metadata#REGION_CL/@Element","DUE":"0.2EZIZ.","CODE":null,"COD_OKATO":null,"ISN_LCLASSIF":4058459,"PARENT_DUE":"0.","ISN_NODE":4058459,"IS_NODE":0,"ISN_HIGH_NODE":0,"WEIGHT":4058459,"CLASSIF_NAME":"Край света","PROTECTED":0,"DELETED":0,"NOTE":null}
|
