Получение списка вложенных инстанций бизнес-объектов с сортировкой
Предусловие:
- У вас должно иметься родительский БО (Что это такое и как создать?)
- Также созданные инстанции данного БО (Как создать инстанцию через API-service?)
- У вас должно иметься вложенный БО к родительскому БО (Что это такое и как создать?)
- Также созданные инстанции данного БО которые вложены к одному инстанцию родительского БО Как создать или обновить вложенную иди инстанцию через API-service?)
- Требуется добавить функционал сортировки по конкретному полю для вложенных экземпляров объектов. Это необходимо реализовать в режиме редактирования внутри вложенного БО
Запрос (Request)
POST /api/v1/boi/load-nested-with-sort
Content-Type: application/json
API-TOKEN/TOKEN: your_token
- Метод: POST
- URL: http://your-domain.kz/api/v1/boi/load-nested-with-filter
- Headers:
Content-Type: application/json API-TOKEN/TOKEN: your_token
- Как получить API_TOKEN или TOKEN?
Входные данные:
{
"parentBoCode": "Код родительского бизнес-объекта",
"parentBoiId": "Идентификатор инстанции родительского бизнес-объекта",
"paging": {
"offset": "количество пропускаемых элементов",
"limit": "количество элементов в одной странице"
},
"parentFieldCode": "Код поля который ссылвется на вложенный объект",
"multiLanguage": true/false
}
- Как получить boCode?
- Как получить boiId?
- Как получить Код Поля?
- multiLanguage - нужен при работе с мультиязычными полями. Значение по умолчанию
false
- значит у этих полей будут отображаться значения на выбранном языке текущего пользователя. Приtrue
, вам будет отправляться массив объектов fieldValuesLang**, содержащая текст по всем языкам которые есть в системе для всех мультиязычных полей.
Пример:
{
"parentBoCode": "Customer_Orders",
"paretnBoiId": "LiVjxjKNgCHiz1Af",
"paging": {
"offset": 0,
"limit": 20
},
"parentFieldCode": "Customer_Address",
"multiLanguage": true
}
Ответ (Response)
{
"records": [
{
"boiId": "Идентификатор инстанции вложенного БО 1",
"boCode": "Kод вложенного БО",
"state": "Одно из значений: ALL, REMOVED, ARCHIVED, DEV",
"isTouched": "Прочитано ли текущим пользователем данная инстанция? (true/false)",
"fieldValues": {
"код поля 1": {
"apiValue": "значение поля 1",
"displayValue": "значение поля для отабражения 1",
"type": "Тип поля"
// Подробнее о типах поля можете узнать по ссылке ниже
},
"код поля 2": {
"apiValue": "значение поля 2",
"displayValue": "значение поля для отабражения 2",
"type": "Тип поля"
// Подробнее о типах поля можете узнать по ссылке ниже
},
"код поля 3": {
"apiValue": "значение поля 3",
"displayValue": "значение поля для отабражения 3",
"type": "Тип поля"
// Подробнее о типах поля можете узнать по ссылке ниже
}
},
"fieldValuesLang": {
"код поля 4 ": {
"type": "тип мультиязычного поля 4",
"langApiValue": {
// Значения по всем языкам которые есть в системе
"Код языка": "Значение мультиязычного поля на этом языке"
}
}
},
{
"boiId": "Идентификатор инстанции вложенного БО 2",
"boCode": "Kод вложенного БО",
"state": "Одно из значений: ALL, REMOVED, ARCHIVED, DEV",
"isTouched": "Прочитано ли текущим пользователем данная инстанция? (true/false)",
"fieldValues": {
"код поля 1": {
"apiValue": "значение поля 1",
"displayValue": "значение поля для отабражения 1",
"type": "Тип поля"
// Подробнее о типах поля можете узнать по ссылке ниже
},
"код поля 2": {
"apiValue": "значение поля 2",
"displayValue": "значение поля для отабражения 2",
"type": "Тип поля"
// Подробнее о типах поля можете узнать по ссылке ниже
},
"код поля 3": {
"apiValue": "значение поля 3",
"displayValue": "значение поля для отабражения 3",
"type": "Тип поля"
// Подробнее о типах поля можете узнать по ссылке ниже
}
},
"fieldValuesLang": {
"код поля 4 ": {
"type": "тип мультиязычного поля 4",
"langApiValue": {
// Значения по всем языкам которые есть в системе
"Код языка": "Значение мультиязычного поля на этом языке"
}
}
}
],
"hasNext": "Имеется ли следующая страница? (true/false)",
"totalHits": "Общее количество вложенных инстанций"
}
Значения поля state:
1) ALL - Рабочее состояние записи
2) REMOVED - Запись удалена
3) ARCHIVED - Запись в архиве
4) DEV - Запись используется для тестирования процессов
Пример:
{
"records": [
{
"boiId": "W7mc2dOOoToIKphL",
"boCode": "CUSTOMER_ADDRESS",
"state": "ALL",
"isTouched": "true",
"fieldValues": {
"COUNTRY": {
"apiValue": "Kazakhstan",
"displayValue": "Kazakhstan",
"type": "INPUT_TEXT"
},
"CITY": {
"apiValue": "Almaty",
"displayValue": "Almaty",
"type": "INPUT_TEXT"
},
"APARTMENT": {
"apiValue": "39",
"displayValue": "39",
"type": "INPUT_NUMBER"
},
"HOUSE": {
"apiValue": "25",
"displayValue": "25",
"type": "INPUT_NUMBER"
}
},
"fieldValuesLang": {
"STREET": {
"type": "INPUT_TEXT_LANG",
"langApiValue": {
// Значения по всем языкам которые есть в системе
"ENG": "Rozybakiev",
"RUS": "Розыбакиева",
"KAZ": "Розыбакиев",
"QAZ": "Rozybakiev"
}
}
},
{
"boiId": "V3vtqRrsoHF3khcv",
"boCode": "CUSTOMER_ADDRESS",
"state": "ALL",
"isTouched": "true",
"fieldValues": {
"COUNTRY": {
"apiValue": "Kazakhstan",
"displayValue": "Kazakhstan",
"type": "INPUT_TEXT"
},
"CITY": {
"apiValue": "Shymkent",
"displayValue": "Shymkent",
"type": "INPUT_TEXT"
},
"APARTMENT": {
"apiValue": "70",
"displayValue": "70",
"type": "INPUT_NUMBER"
},
"HOUSE": {
"apiValue": "32",
"displayValue": "32",
"type": "INPUT_NUMBER"
}
},
"fieldValuesLang": {
"STREET": {
"type": "INPUT_TEXT_LANG",
"langApiValue": {
// Значения по всем языкам которые есть в системе
"ENG": "Kaldayakov",
"RUS": "Калдаякова",
"KAZ": "Қалдаяқов",
"QAZ": "Rozybakiev"
}
}
}
],
"hasNext": false,
"totalHits": 2
}