REST API: Сложные фильтры задач

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

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

  • type — числовой идентификатор фильтра.
  • operator — оператор фильтра, одно из значений из списка (equal, notequal, gt, lt), у разных фильтров могут быть разные допустимые операторы.
  • value — значение фильтра, может быть строкой, числом или сложным объектом, в зависимости от типа фильтра.
  • field — идентификатор пользовательского поля, для фильтров по пользовательским полям.
{
    "type": 12,
    "operator": "equal",
    "value": {
        "dateType": "otherDate",
        "dateValue": "22-03-2022"
    }
}


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

{
  "fields": "name",
  "filters": [{
        "type": 2,
        "operator": "equal",
        "value": "user:5"
     },
     {
        "type": 2,
        "operator": "equal",
        "value": "contact:7"
     },
     {
        "type": 2,
        "operator": "equal",
        "value": "group:8"
     }
  ]
}


Тип Название Операторы Формат value
12 Дата создания
  • equal
  • notequal
  • gt
  • lt

объект :

<value>
  <datetype></datetype>
  <datevalue></datevalue>
  <datefrom></datefrom>
  <dateto></dateto>
</value>

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

  • today - сегодня
  • yesterday - вчера
  • tomorrow - завтра
  • thisweek - текущая неделя
  • lastweek
  • nextweek
  • thismonth
  • lastmonth
  • nextmonth
  • last - последние n дней, n передается в datevalue
  • next - следующие n дней, n передается в datevalue
  • in - через n дней, n передается в datevalue
  • anotherdate - точная дата, дата передается в формате дд-мм-гггг в datefrom
  • anotherperiod - точный период, даты передаются в формате дд-мм-гггг в datefrom и dateto
  • anotherdate_withtime - точная дата-время, дата передается в формате "дд-мм-гггг чч:мм" в datefrom
  • anotherperiod_withtime - точный период с заданным временем, даты передаются в формате "дд-мм-гггг чч:мм" в datefrom и dateto

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

примеры:

<value>
  <datetype>thisweek</datetype>
</value>
<value>
  <datetype>anotherperiod</datetype>
  <datefrom>01-01-2015</datefrom>
  <dateto>01-02-2015</dateto>
</value>
<value>
  <datetype>anotherdate_withtime</datetype>
  <datefrom>01-01-2015 12:00</datefrom>
</value>
13 Дата планируемого начала
14 Дата планируемого завершения
21 Дата последней активности (последнего добавленного комментария)
19 Дата фактического завершения
20 Дата выполнения
38 Дата последнего изменения
79 Дата последнего изменения или комментария
103 Пользовательское поле типа Дата
1 Постановщик
  • equal
  • notequal
int : идентификатор сотрудника
2 Исполнитель
39 Участник
3 Аудитор задачи или проекта
59 Аудитор проекта
60 Аудитор задачи
108 Пользовательское поле типа Контакт
109 Пользовательское поле типа Сотрудник
112 Пользовательское поле типа Группа, сотрудник, контакт
113 Пользовательское поле типа Список сотрудников
22 Без даты начала
  • equal
int - 1
23 Без даты завершения
25 С датой начала
26 С датой завершения
16 Повторяющаяся
28 Не повторяющаяся
17 Просроченная
29 Не просроченная
33 Без исполнителей
41 Без участников
34 Постановщик - сотрудник
35 Постановщик - контакт
71 Исполнитель - сотрудник
69 Исполнитель - контакт
72 Участник - сотрудник
70 Участник - контакт
8 Название задачи
  • equal
  • notequal
string - осуществляется фильтр содержит / не содержит
101 Пользовательское поле типа Строка
102 Пользовательское поле типа Число
  • equal
  • notequal
  • gt
  • lt
int
105 Пользовательское поле типа Чекбокс
  • equal
  • notequal
int - 1 / 0
106 Пользовательское поле типа Список
  • equal
  • notequal
string
107 Пользовательское поле типа Справочник
  • equal
  • notequal
int - идентификатор записи
114 Пользовательское поле типа Набор записей справочника
  • equal
  • notequal
int - идентификатор записи, для условия по нескольким записям - идентификаторы через ; (точку с запятой)
152 Содержит значение в пользовательском поле
  • equal
int - идентификатор поля
153 Не содержит значение в пользовательском поле
  • equal
int - идентификатор поля
11 Содержит аналитику
  • equal
int - идентификатор аналитики
18 Не содержит аналитику
  • equal
int - идентификатор аналитики
73 Непосредственная надзадача
  • equal
  • notequal
int - идентификатор надзадачи
51 Шаблон
  • equal
  • notequal
int - идентификатор шаблона
10 Статус
  • equal
  • notequal
int - идентификатор статуса
7 Контрагент
  • equal
  • notequal
int - идентификатор контрагента ( id в ответах contact.get / contact.getList )
24 Процесс
  • equal
  • notequal
int - идентификатор процесса ( id в ответах taskStatus.getSetList )


Перейти