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

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


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


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

Версия от 09:29, 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 Поле сотрудника типа Список сотрудников
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 — название должности


Перейти