REST API: Сложные фильтры задач: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
| Строка 45: | Строка 45: | ||
} | } | ||
</pre> | </pre> | ||
{| class="wikitable" style="margin-top: 1em; width:100% " | |||
!width="40"|Тип !!width="200"| Название !! Операторы !! Формат value | |||
|- | |||
|12 || Дата создания | |||
| rowspan="9" | | |||
*equal | |||
*notequal | |||
*gt | |||
*lt | |||
| rowspan="9" | | |||
объект : | |||
<source lang="xml"> | |||
<value> | |||
<datetype></datetype> | |||
<datevalue></datevalue> | |||
<datefrom></datefrom> | |||
<dateto></dateto> | |||
</value> | |||
</source> | |||
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 | |||
даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос | |||
примеры: | |||
<source lang="xml"> | |||
<value> | |||
<datetype>thisweek</datetype> | |||
</value> | |||
</source> | |||
<source lang="xml"> | |||
<value> | |||
<datetype>anotherperiod</datetype> | |||
<datefrom>01-01-2015</datefrom> | |||
<dateto>01-02-2015</dateto> | |||
</value> | |||
</source> | |||
<source lang="xml"> | |||
<value> | |||
<datetype>anotherdate_withtime</datetype> | |||
<datefrom>01-01-2015 12:00</datefrom> | |||
</value> | |||
</source> | |||
|- | |||
|13 || Дата планируемого начала | |||
|- | |||
|14 || Дата планируемого завершения | |||
|- | |||
|21 || Дата последней активности (последнего добавленного комментария) | |||
|- | |||
|19 || Дата фактического завершения | |||
|- | |||
|20 || Дата выполнения | |||
|- | |||
|38 || Дата последнего изменения | |||
|- | |||
|79 || Дата последнего изменения или комментария | |||
|- | |||
|103|| Пользовательское поле типа Дата | |||
|- | |||
|1 || Постановщик | |||
| rowspan="10" | | |||
*equal | |||
*notequal | |||
| rowspan="10" | int : идентификатор сотрудника | |||
|- | |||
|2 || Исполнитель | |||
|- | |||
|39 || Участник | |||
|- | |||
|3 || Аудитор задачи или проекта | |||
|- | |||
|59 || Аудитор проекта | |||
|- | |||
|60 || Аудитор задачи | |||
|- | |||
|108 || Пользовательское поле типа Контакт | |||
|- | |||
|109 || Пользовательское поле типа Сотрудник | |||
|- | |||
|112 || Пользовательское поле типа Группа, сотрудник, контакт | |||
|- | |||
|113 || Пользовательское поле типа Список сотрудников | |||
|- | |||
|22 || Без даты начала | |||
| rowspan="16" | | |||
*equal | |||
| rowspan="16" | int - 1 | |||
|- | |||
|23 || Без даты завершения | |||
|- | |||
|25 || С датой начала | |||
|- | |||
|26 || С датой завершения | |||
|- | |||
|16 || Повторяющаяся | |||
|- | |||
|28 || Не повторяющаяся | |||
|- | |||
|17 || Просроченная | |||
|- | |||
|29 || Не просроченная | |||
|- | |||
|33 || Без исполнителей | |||
|- | |||
|41 || Без участников | |||
|- | |||
|34 || Постановщик - сотрудник | |||
|- | |||
|35 || Постановщик - контакт | |||
|- | |||
|71 || Исполнитель - сотрудник | |||
|- | |||
|69 || Исполнитель - контакт | |||
|- | |||
|72 || Участник - сотрудник | |||
|- | |||
|70 || Участник - контакт | |||
|- | |||
|8 || Название задачи | |||
| rowspan="2" | | |||
*equal | |||
*notequal | |||
| rowspan="2" | 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 в ответах [[ПланФикс API contact.get|contact.get]] / [[ПланФикс API contact.getList|contact.getList]] ) | |||
|- | |||
|24 || Процесс | |||
| | |||
*equal | |||
*notequal | |||
| int - идентификатор процесса ( id в ответах [[ПланФикс API taskStatus.getSetList|taskStatus.getSetList]] ) | |||
|} | |||
== Перейти == | |||
*[[REST API]] | |||
Версия от 14:19, 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></datetype>
<datevalue></datevalue>
<datefrom></datefrom>
<dateto></dateto>
</value>datetype принимает следующие значения:
даты считаются переданными в часовом поясе сотрудника, от имени которого сделан запрос примеры: <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 | Постановщик |
|
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 ) |