REST API: Сложные фильтры справочников: различия между версиями
Материал из Planfix
								
												
				Artem (обсуждение | вклад) Нет описания правки  | 
				Artem (обсуждение | вклад)  Нет описания правки  | 
				||
| Строка 117: | Строка 117: | ||
|6113 || Поле справочника типа Список сотрудников  | |6113 || Поле справочника типа Список сотрудников  | ||
|-  | |-  | ||
|  | |6101 || Поле справочника типа Строка  | ||
|    | |    | ||
*equal  | *equal  | ||
*notequal  | *notequal  | ||
|   | | string - осуществляется фильтр содержит / не содержит  | ||
|}  | |}  | ||
Версия от 09:42, 16 января 2023
Сложные фильтры в 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 | Поле справочника типа Список сотрудников | ||
| 6101 | Поле справочника типа Строка | 
  | 
string - осуществляется фильтр содержит / не содержит |