REST API: Сложные фильтры сотрудников: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
(Новая страница: «{{#seo: |title=REST API: Сложные фильтры сотрудников |titlemode=append |keywords=планфикс, фильтры сотрудников, апи, api, rest, rest api, сложные фильтры сотрудников |description=REST API: Сложные фильтры сотрудников }} Сложные фильтры в REST API ПланФикса применяются в методе «/user/list» при получе...»)
 
Нет описания правки
Строка 46: Строка 46:
|-
|-
|9103 || Поле сотрудника типа Дата  
|9103 || Поле сотрудника типа Дата  
|  
| rowspan="2" |
*equal  
*equal  
*notequal  
*notequal  
Строка 103: Строка 103:
|-
|-
|9120 || Дата рождения сотрудника
|9120 || Дата рождения сотрудника
|-
|9108 || Поле сотрудника типа Контакт
| rowspan="5" |   
| rowspan="5" |   
*equal  
*equal  
Строка 109: Строка 111:
Например: “user:1”, “contact:5”, “group:3”
Например: “user:1”, “contact:5”, “group:3”
|-
|-
|6109 || Поле справочника типа Сотрудник
|9109 || Поле сотрудника типа Сотрудник
|-
|-
|6110 || Поле справочника типа Контрагент
|9110 || Поле сотрудника типа Контрагент
|-
|-
|6112 || Поле справочника типа Группа, сотрудник, контакт
|9112 || Поле сотрудника типа Группа, сотрудник, контакт
|-
|-
|6113 || Поле справочника типа Список сотрудников
|9113 || Поле сотрудника типа Список сотрудников
|-
|-
|6101 || Поле справочника типа Строка
|6101 || Поле справочника типа Строка

Версия от 09:07, 17 марта 2023

Сложные фильтры в REST API ПланФикса применяются в методе «/user/list» при получении списка сотрудников. Фильтры сотрудников задаются следующим набором параметров:

  • type — числовой идентификатор фильтра.
  • operator — оператор фильтра, одно из значений списка (equal, notequal, gt, lt). У разных фильтров могут быть разные допустимые операторы.
  • value — значение фильтра, в зависимости от типа фильтра может быть строкой, числом или сложным объектом.
  • field — идентификатор пользовательского поля справочника, по которому выполняется фильтр.


Пример запроса получения списка сотрудников с передачей нескольких фильтров по пользовательскому полю типа «Дата» и пользовательскому полю типа «Сотрудник» (используется логика И):


{
  "offset": 0,
  "pageSize": 100,
  "fields": "id,name,description,3,5",
  "filters": [
    {
      "type": 5103,
      "field": 3,
      "operator": "equal",
      "value": {
        "dateType": "otherRange",
        "dateFrom": "15-12-2022",
        "dateTo": "17-12-2022"
      }
    },
    {
      "type": 5109,
      "field": 5,
      "operator": "equal",
      "value": "user:50"
    }
  ]
}


Тип Название Операторы Формат value
9103 Поле сотрудника типа Дата
  • equal
  • notequal
  • gt
  • lt
Объект :
 
"value": {
    "dateType": string,
    "dateValue": string,
    "dateFrom": string,
    "dateTo": string
}


dateType принимает следующие значения:

  • today - сегодня
  • yesterday - вчера
  • tomorrow - завтра
  • thisWeek - текущая неделя
  • lastWeek
  • nextWeek
  • thisMonth
  • lastMonth
  • nextMonth
  • last - последние n дней, n передается в dateValue
  • next - следующие n дней, n передается в dateValue
  • in - через n дней, n передается в dateValue
  • otherDate - точная дата, дата передается в формате дд-мм-гггг в dateFrom
  • otherRange - точный период, даты передаются в формате дд-мм-гггг в dateFrom и dateTo
  • otherDate_withTime - точная дата-время, дата передается в формате "дд-мм-гггг чч:мм" в dateFrom
  • otherRange_withTime - точный период с заданным временем, даты передаются в формате "дд-мм-гггг чч:мм" в dateFrom и dateTo

Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос.

Примеры:

"value": {
    "dateType": "thisWeek"
}
"value": {
    "dateType": "otherRange",
    "dateFrom": "01-12-2022",
    "dateTo": "06-12-2022"
}
"value": {
    "dateType": "otherDate_withTime",
    "dateFrom": "30-12-2022 12:00",
}
9120 Дата рождения сотрудника
9108 Поле сотрудника типа Контакт
  • equal
  • notequal
string - номер сотрудника/контакта/группы с префиксом.

Например: “user:1”, “contact:5”, “group:3”

9109 Поле сотрудника типа Сотрудник
9110 Поле сотрудника типа Контрагент
9112 Поле сотрудника типа Группа, сотрудник, контакт
9113 Поле сотрудника типа Список сотрудников
6101 Поле справочника типа Строка
  • equal
  • notequal
string - осуществляется фильтр содержит / не содержит
6102 Поле справочника типа Число
  • equal
  • notequal
  • gt
  • lt
int
6105 Поле справочника типа Чекбокс
  • equal
  • notequal
int - 1/0
boolean
6106 Поле справочника типа Список
  • equal
  • notequal
string
6107 Поле справочника типа Запись справочника
  • equal
  • notequal
int - идентификатор записи
6114 Поле справочника типа Набор записей справочника
  • equal
  • notequal
int — идентификатор записи, для условия по нескольким записям — идентификаторы через ; (точку с запятой)
6115 Поле справочника типа Задача
  • equal
  • notequal
int — номер задачи
6117 Поле справочника типа Проект
  • equal
  • notequal
int — номер проекта


Перейти