REST API: Сложные фильтры справочников: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
(не показаны 33 промежуточные версии 2 участников) | |||
Строка 9: | Строка 9: | ||
*'''operator''' — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы. | *'''operator''' — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы. | ||
*'''value''' — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом. | *'''value''' — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом. | ||
*'''field''' — идентификатор пользовательского поля | *'''field''' — идентификатор пользовательского поля справочника, по которому выполняется фильтр. | ||
Пример запроса получения списка записей справочника с передачей нескольких фильтров, по пользовательскому полю типа «Дата» и пользовательскому полю типа | Пример запроса получения списка записей справочника с передачей нескольких фильтров, по пользовательскому полю типа «Дата» и пользовательскому полю типа «Сотрудник» (используется логика И): | ||
Строка 103: | Строка 103: | ||
|- | |- | ||
|6108 || Поле справочника типа Контакт | |6108 || Поле справочника типа Контакт | ||
| rowspan="4" | | |||
*equal | |||
*notequal | |||
| rowspan="4" | string - номер сотрудника/контакта/группы с префиксом. | |||
Например: “user:1”, “contact:5”, “group:3” | |||
|- | |- | ||
|6109 || Поле справочника типа Сотрудник | |6109 || Поле справочника типа Сотрудник | ||
Строка 111: | Строка 116: | ||
|- | |- | ||
|6113 || Поле справочника типа Список сотрудников | |6113 || Поле справочника типа Список сотрудников | ||
| | |||
*equal | |||
*notequal | |||
| string - осуществляется фильтр содержит / не содержит | |||
|- | |- | ||
| | |6101 || Поле справочника типа Строка | ||
| | |||
| | |||
| | |||
*equal | *equal | ||
*notequal | *notequal | ||
| | *have | ||
*nothave | |||
| string - осуществляется фильтр равно / не равно / содержит / не содержит | |||
|- | |- | ||
| | |6102 || Поле справочника типа Число | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
*gt | *gt | ||
*lt | *lt | ||
| int | | int | ||
|- | |- | ||
| | |6105 || Поле справочника типа Чекбокс | ||
| | | rowspan="2" | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int - 1 / 0 | | rowspan="2" | int - 1/0 <br> boolean | ||
|- | |||
|6005 || Является ли запись архивной | |||
|- | |- | ||
| | |6106 || Поле справочника типа Список | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| string | | string | ||
|- | |- | ||
| | |6107 || Поле справочника типа Запись справочника | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int - идентификатор записи | | int - идентификатор записи | ||
|- | |- | ||
| | |6114 || Поле справочника типа Набор записей справочника | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int | | int — идентификатор записи, для условия по нескольким записям — идентификаторы через ; (точку с запятой) | ||
|- | |- | ||
| | |6115 || Поле справочника типа Задача | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| | | int — номер задачи | ||
|- | |- | ||
| | |6117 || Поле справочника типа Проект | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int | | int — номер проекта | ||
|- | |- | ||
| | |6003 || Запись входит в группу справочника | ||
| | | | ||
*equal | *equal | ||
*notequal | *notequal | ||
| int - | | int - идентификатор группы справочника | ||
|} | |} | ||
Текущая версия от 13:15, 4 октября 2024
Сложные фильтры в REST API ПланФикса применяются в методе «/directory/{id}/entry/list» при получении записей справочников. Фильтры справочников задаются следующим набором параметров:
- type — числовой идентификатор фильтра.
- operator — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы.
- value — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом.
- field — идентификатор пользовательского поля справочника, по которому выполняется фильтр.
Пример запроса получения списка записей справочника с передачей нескольких фильтров, по пользовательскому полю типа «Дата» и пользовательскому полю типа «Сотрудник» (используется логика И):
{ "offset": 0, "pageSize": 100, "fields": "directory,parentKey,key,3,5", "filters": [ { "type": 6103, "field": 3, "operator": "equal", "value": { "dateType": "otherRange", "dateFrom": "15-12-2022", "dateTo": "17-12-2022" } }, { "type": 6109, "field": 5, "operator": "equal", "value": "user:50" } ] }
Тип | Название | Операторы | Формат value |
---|---|---|---|
6103 | Поле справочника типа Дата |
|
Объект :
"value": { "dateType": string, "dateValue": string, "dateFrom": string, "dateTo": string }
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. Примеры: "value": { "dateType": "thisWeek" } "value": { "dateType": "otherRange", "dateFrom": "01-12-2022", "dateTo": "06-12-2022" } "value": { "dateType": "otherDate_withTime", "dateFrom": "30-12-2022 12:00", } |
6108 | Поле справочника типа Контакт |
|
string - номер сотрудника/контакта/группы с префиксом.
Например: “user:1”, “contact:5”, “group:3” |
6109 | Поле справочника типа Сотрудник | ||
6110 | Поле справочника типа Контрагент | ||
6112 | Поле справочника типа Группа, сотрудник, контакт | ||
6113 | Поле справочника типа Список сотрудников |
|
string - осуществляется фильтр содержит / не содержит |
6101 | Поле справочника типа Строка |
|
string - осуществляется фильтр равно / не равно / содержит / не содержит |
6102 | Поле справочника типа Число |
|
int |
6105 | Поле справочника типа Чекбокс |
|
int - 1/0 boolean |
6005 | Является ли запись архивной | ||
6106 | Поле справочника типа Список |
|
string |
6107 | Поле справочника типа Запись справочника |
|
int - идентификатор записи |
6114 | Поле справочника типа Набор записей справочника |
|
int — идентификатор записи, для условия по нескольким записям — идентификаторы через ; (точку с запятой) |
6115 | Поле справочника типа Задача |
|
int — номер задачи |
6117 | Поле справочника типа Проект |
|
int — номер проекта |
6003 | Запись входит в группу справочника |
|
int - идентификатор группы справочника |