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

Материал из Planfix
Перейти к: навигация, поиск

Сложные фильтры в 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 Поле сотрудника типа Список сотрудников
9006 ФИО сотрудника (поиск может выполняется по части ФИО)
  • equal
  • notequal
string - осуществляется фильтр содержит / не содержит
9121 Имя сотрудника
9122 Отчество сотрудника
9123 Фамилия сотрудника
9101 Поле сотрудника типа Строка
9008 Номер сотрудника
  • equal
  • notequal
  • gt
  • lt

int

9102 Поле сотрудника типа Число
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 — номер проекта


Перейти