Пример 1: Поиск клиента по фамилии И имени "Сидоров Андрей"
Запрос (Request):
{
"boCode": "CLIENT", // Код БО (Как получить? Смотрите ниже)
"headCodes": ["SURNAME", "NAME"], // Коды полей которые будут отображены в результате
"orderingFieldCode": "NAME", // Сортировка по имени
"orderState": "ASC", // По возрастанию
"paging": {
"offset": 0, // Начиная с 0
"limit": 10, // Получить только 10 элементов
},
"state": "ALL", // Записи в работе (Не REMOVED или ARCHIVED)
"touchedFilter": "ALL", // И новые и старые записи будут видны нам
"brackets" : [
{
"id": "DTb445uu", // Рандомный уникальный идентификатор бракета
"parentId": null,
"parentTreeIds": [],
"connectionType": "AND", // Связь со следующим бракетом в списке brackets
// AND - значит что совпадение по фамилии И по имени
"brackets": [], // дочерние бракеты (позже при сложных фильтрах)
"dynamicFilters": [
{
"id": "nl4Fcy3Z", // Рандомный идентификатор фильтра
"fieldId": "xQK11@uul08penSM", // Идентификатор поля (Как получить? Смотрите ниже)
"type": "INPUT_TEXT", // Тип поля (Как получить? Смотрите ниже)
"value": "Сидоров" // Значение поля (Как получить? Смотрите ниже)
}]
},
{
"id": "DTb445ui", // Идентификатор бракета
"parentId": null, // Пусто так как родителя нет
"parentTreeIds": [], // Пусто так как нет родителей
"connectionType": "AND", // Связь со следующим будущим фильтром
"brackets": [],
"dynamicFilters":[
{
"id": "nl4Fcy3Z", // Рандомный идентификатор фильтра
"fieldId": "oDZwyNuzRXrACu7w", // Идентификатор поля (Как получить? Смотрите ниже)
"type": "INPUT_TEXT", // Тип поля (Как получить? Смотрите ниже)
"value": "Андрей" // Значение поля (Как получить? Смотрите ниже)
}
]
}
]
}
Предусловия для запроса:
Создадим БО "Клиент" с текстовыми полями "Фамилия" и "Имя"
Изменим код бизнес-объекта на CLIENT (Как изменить код бизнес-объекта?)
Также изменим коды полей: у поля Фамилия будет
SURNAME
, у поля Имя будетNAME
. Как изменить коды полей?У данного БО создадим следующих клиентов:
Предусловия для составления бракетов:
Как вы видели в запросе для бракетов нам нужно получить id и type полей по которым мы будем фильтровать:
Нажимаем на иконку шестеренки у поля Фамилия:
- Видим что id равен
xQK11@uul08penSM
, а type равенINPUT_TEXT
(тут нужно убрать префиксValue_
) - И тоже, самое получаем у поля "Имя": id =
oDZwyNuzRXrACu7w
, type =INPUT_TEXT
(тут нужно убрать префиксValue_
).
Ответ (Response):
Запрос сработал успешно и нашёл клиента которого мы искали "Сидоров Андрей"
{
"boCode": "CLIENT",
"businessObjectId": "7x9hWxwZ@xa2D3gB", // Идентификатор БО
"heads": [
{
"fieldId": "xQK11@uul08penSM", // Идентификатор Поля
"name": "Фамилия", // Название поля
"code": "SURNAME" // Код поля
},
{
"fieldId": "oDZwyNuzRXrACu7w", // Идентификатор Поля
"name": "Имя", // Название поля
"code": "NAME" // Код поля
}
],
"records": [ // Полученная запись (Одна):
{
"boId": null,
"instanceId": "3fdhTt7wmbEtEKda", // Идентификатор записи инстанции БО
"values": [
{
"coFieldId": null,
"fieldId": "xQK11@uul08penSM", // id поля
"value": "Сидоров", // Значение поля
"displayValue": "Сидоров", // Отображаемое значени поля
"isReadOnly": false,
"readOnly": false
},
{
"coFieldId": null,
"fieldId": "oDZwyNuzRXrACu7w", // id поля
"value": "Андрей", // Значение поля
"displayValue": "Андрей", // Отображаемое значени поля
"isReadOnly": false,
"readOnly": false
}
]
}
],
"hasNext": false, // Есть ли ещё данные
"totalHits": 1, // Сколько записей получено
"totalHitsMore": false, // Есть ли ещё записи
"tookInMillis": 2 // Сколько заняло времени
}