REST API: Сложные фильтры задач: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
Строка 57: | Строка 57: | ||
*lt | *lt | ||
| rowspan="9" | | | rowspan="9" | | ||
объект : | объект : | ||
< | <pre> | ||
"value": { | |||
"dateType": string, | |||
"dateValue": string, | |||
"dateFrom": string, | |||
"dateTo": string | |||
} | |||
< | <pre> | ||
datetype принимает следующие значения: | datetype принимает следующие значения: | ||
* today - сегодня | *today - сегодня | ||
* yesterday - вчера | *yesterday - вчера | ||
* tomorrow - завтра | *tomorrow - завтра | ||
* | *thisWeek - текущая неделя | ||
* | *lastWeek | ||
* | *nextWeek | ||
* | *thisMonth | ||
* | *lastMonth | ||
* | *nextMonth | ||
* last - последние n дней, n передается в | *last - последние n дней, n передается в dateValue | ||
* next - следующие n дней, n передается в | *next - следующие n дней, n передается в dateValue | ||
* in - через n дней, n передается в | *in - через n дней, n передается в dateValue | ||
* | *otherDate - точная дата, дата передается в формате дд-мм-гггг в dateFrom | ||
* | *otherRange - точный период, даты передаются в формате дд-мм-гггг в dateFrom и dateTo | ||
* | *otherDate_withTime - точная дата-время, дата передается в формате "дд-мм-гггг чч:мм" в dateFrom | ||
* | *otherRange_withTime - точный период с заданным временем, даты передаются в формате "дд-мм-гггг чч:мм" в dateFrom и dateTo | ||
Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. | |||
Примеры: | |||
< | <pre> | ||
"value": { | |||
"dateType": "thisWeek" | |||
</ | } | ||
< | </pre> | ||
<pre> | |||
"value": { | |||
"dateType": "otherRange", | |||
"dateFrom": "20-03-2022", | |||
"dateTo": "22-03-2022" | |||
} | |||
</ | </pre> | ||
< | <pre> | ||
"value": { | |||
"dateType": "otherDate_withTime", | |||
"dateFrom": "20-03-2022 12:00", | |||
} | |||
</pre> | |||
</ | |||
|- | |- |
Версия от 14:26, 10 мая 2022
Сложные фильтры применяются в методе «/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 | Дата создания |
|
объект : "value": { "dateType": string, "dateValue": string, "dateFrom": string, "dateTo": string } <pre> 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 Даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос. Примеры: <pre> "value": { "dateType": "thisWeek" } "value": { "dateType": "otherRange", "dateFrom": "20-03-2022", "dateTo": "22-03-2022" } "value": { "dateType": "otherDate_withTime", "dateFrom": "20-03-2022 12:00", } |
13 | Дата планируемого начала | ||
14 | Дата планируемого завершения | ||
21 | Дата последней активности (последнего добавленного комментария) | ||
19 | Дата фактического завершения | ||
20 | Дата выполнения | ||
38 | Дата последнего изменения | ||
79 | Дата последнего изменения или комментария | ||
103 | Пользовательское поле типа Дата | ||
1 | Постановщик |
|
int : идентификатор сотрудника |
2 | Исполнитель | ||
39 | Участник | ||
3 | Аудитор задачи или проекта | ||
59 | Аудитор проекта | ||
60 | Аудитор задачи | ||
108 | Пользовательское поле типа Контакт | ||
109 | Пользовательское поле типа Сотрудник | ||
112 | Пользовательское поле типа Группа, сотрудник, контакт | ||
113 | Пользовательское поле типа Список сотрудников | ||
22 | Без даты начала |
|
int - 1 |
23 | Без даты завершения | ||
25 | С датой начала | ||
26 | С датой завершения | ||
16 | Повторяющаяся | ||
28 | Не повторяющаяся | ||
17 | Просроченная | ||
29 | Не просроченная | ||
33 | Без исполнителей | ||
41 | Без участников | ||
34 | Постановщик - сотрудник | ||
35 | Постановщик - контакт | ||
71 | Исполнитель - сотрудник | ||
69 | Исполнитель - контакт | ||
72 | Участник - сотрудник | ||
70 | Участник - контакт | ||
8 | Название задачи |
|
string - осуществляется фильтр содержит / не содержит |
101 | Пользовательское поле типа Строка | ||
102 | Пользовательское поле типа Число |
|
int |
105 | Пользовательское поле типа Чекбокс |
|
int - 1 / 0 |
106 | Пользовательское поле типа Список |
|
string |
107 | Пользовательское поле типа Справочник |
|
int - идентификатор записи |
114 | Пользовательское поле типа Набор записей справочника |
|
int - идентификатор записи, для условия по нескольким записям - идентификаторы через ; (точку с запятой) |
152 | Содержит значение в пользовательском поле |
|
int - идентификатор поля |
153 | Не содержит значение в пользовательском поле |
|
int - идентификатор поля |
11 | Содержит аналитику |
|
int - идентификатор аналитики |
18 | Не содержит аналитику |
|
int - идентификатор аналитики |
73 | Непосредственная надзадача |
|
int - идентификатор надзадачи |
51 | Шаблон |
|
int - идентификатор шаблона |
10 | Статус |
|
int - идентификатор статуса |
7 | Контрагент |
|
int - идентификатор контрагента ( id в ответах contact.get / contact.getList ) |
24 | Процесс |
|
int - идентификатор процесса ( id в ответах taskStatus.getSetList ) |