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 Поле сотрудника типа Число
9105 Поле сотрудника типа Чекбокс
  • equal
  • notequal
int — 1/0
boolean
9106 Поле сотрудника типа Список
  • equal
  • notequal
string
9107 Поле сотрудника типа Запись справочника
  • equal
  • notequal
int — идентификатор записи
9115 Поле сотрудника типа Задача
  • equal
  • notequal
int — номер задачи
9117 Поле сотрудника типа Проект
  • equal
  • notequal
int — номер проекта
9001 Группа сотрудников
  • equal
  • notequal
int — идентификатор группы
9002 Номер телефона сотрудника
  • equal
  • notequal

string — осуществляется фильтр содержит / не содержит

9004 Короткий номер сотрудника
9003 Внешний email сотрудника
9005 Должность сотрудника
  • equal
  • notequal
string — название должности


Перейти