Пример 6: Поиск клиентов по автомобилю из (БО)
Запрос (Request):
{
"boCode": "CLIENT",
"headCodes": [
"SURNAME",
"NAME",
"CAR" // Введем код нашего поля сюда чтобы видеть его
],
"orderingFieldCode": "NAME",
"orderState": "ASC",
"paging": {
"offset": 0,
"limit": 10
},
"state": "ALL",
"brackets": [
{
"id": "DTb445uu", // Рандомный id бракета
"parentId": null,
"parentTreeIds": [],
"connectionType": "AND",
"brackets": [],
"dynamicFilters": [
{
"id": "nl4Fcy3Z", // Рандомный id фильтра
"fieldId": "IFfWNQCLnDeXNiPE", // id поля (Как получить? Смотрите ниже)
"type": "BO", // тип поля (Как получить? Смотрите ниже)
"boiIds": ["M9WJsU8nhFcOt@Jg"] // Введем id инстанции БО Автомобиль для поиска его владельцев
// Здесь указан id авто с маркой Bugatti и моделью Chiron PurSports
}
]
}
]
}
Предусловия для запроса:
Создание БО с кодом CLIENT и полей с кодами SURNAME и NAME описано в предусловии запроса примера #1
Создадим БО "Автомобиль" с двумя текстовыми полями "Марка Авто", "Модель Авто" и добавим несколько инстанции в неё:
Зайдем в наше БО Клиент и добавим ранее созданный БО Автомобиль
Назначим всем существующим клиентам автомобили:
- Изменим код нашего поля на "CAR"
- Нажмём на шестеренки поля Автомобиль и получим id и type: id =
IFfWNQCLnDeXNiPE
, type =BO
(Убираем префикс Value_) - Также если вы не знали посмотрите как получить идентификатор инстанции бизнес-объекта (boiId)?, потому что мы будем их использовать для поиска по значению автомобиля
- Теперь у нас есть всё необходимое для составления запроса
Ответ (Response):
В результате получаем всех клиентов владеющих Bugatti: Темирлан Жумагулов и Евгений Колпаков:
{
"boCode": "CLIENT",
"businessObjectId": "7x9hWxwZ@xa2D3gB",
"heads": [
{
"fieldId": "xQK11@uul08penSM",
"name": "Фамилия",
"code": "SURNAME"
},
{
"fieldId": "oDZwyNuzRXrACu7w",
"name": "Имя",
"code": "NAME"
},
{
"fieldId": "IFfWNQCLnDeXNiPE",
"name": "Автомобиль",
"code": "CAR"
}
],
"records": [
{
"boId": null,
"instanceId": "SQq3@OYMqAOklB8k",
"values": [
{
"coFieldId": null,
"fieldId": "xQK11@uul08penSM",
"value": "Колпаков",
"displayValue": "Колпаков",
"isReadOnly": false,
"readOnly": false
},
{
"coFieldId": null,
"fieldId": "oDZwyNuzRXrACu7w",
"value": "Евгений",
"displayValue": "Евгений",
"isReadOnly": false,
"readOnly": false
},
{
"coFieldId": null,
"fieldId": "IFfWNQCLnDeXNiPE",
"value": "[\"M9WJsU8nhFcOt@Jg\",\"uVQRHv4wTQ7x~blu\"]",
"displayValue": "Bugatti Chiron PurSports, BMW GT",
"isReadOnly": false,
"readOnly": false
}
]
},
{
"boId": null,
"instanceId": "caw@i3Zs4IRLuTmX",
"values": [
{
"coFieldId": null,
"fieldId": "xQK11@uul08penSM",
"value": "Жумагулов",
"displayValue": "Жумагулов",
"isReadOnly": false,
"readOnly": false
},
{
"coFieldId": null,
"fieldId": "oDZwyNuzRXrACu7w",
"value": "Темирлан",
"displayValue": "Темирлан",
"isReadOnly": false,
"readOnly": false
},
{
"coFieldId": null,
"fieldId": "IFfWNQCLnDeXNiPE",
"value": "[\"Fd7~EtqiGr89Q78K\",\"M9WJsU8nhFcOt@Jg\"]",
"displayValue": "Mercedes-Benz S-класс, Bugatti Chiron PurSports",
"isReadOnly": false,
"readOnly": false
}
]
}
],
"hasNext": false,
"totalHits": 2,
"totalHitsMore": false,
"tookInMillis": 1
}