Документация для разработчиков
Темная тема

tasks.task.list

Scope: task Права на выполнение: для всех

Описание

Возвращает массив задач, каждая из которых содержит массив полей. В отличие от task.item.list параметры в запросе tasks.task.list можно указывать в любом порядке, а также можно не указывать ненужные параметры.

Для получения данных по всем задачам пользователь должен обладать админскими правами. Руководитель подразделения получит доступ только к задачам в своей ветке иерархии.

Также можно получить задачи в "Избранном", установив фильтрацию по параметру $filter[::SUBFILTER-PARAMS][FAVORITE]=Y.

Внимание! Необходимо указать поля в select, т.к. поля по умолчанию могут быть изменены в будущем.

Параметры

ПараметрОписание
orderМассив для сортировки результата. Массив вида {"поле_сортировки": 'направление сортировки' [, ...]}.
Поле для сортировки может принимать значения:
  • ID - идентификатор задачи;
  • TITLE - название задачи;
  • TIME_SPENT_IN_LOGS - затраченное время из истории изменений;
  • DATE_START - дата старта;
  • CREATED_DATE - дата создания;
  • CHANGED_DATE - дата последнего изменения;
  • CLOSED_DATE - дата завершения;
  • START_DATE_PLAN - плановое начало;
  • END_DATE_PLAN - плановое завершение;
  • DEADLINE - крайний срок;
  • REAL_STATUS - статус задачи. Константы отражающие статусы задач:
    • STATE_NEW = 1;
    • STATE_PENDING = 2;
    • STATE_IN_PROGRESS = 3;
    • STATE_SUPPOSEDLY_COMPLETED = 4;
    • STATE_COMPLETED = 5;
    • STATE_DEFERRED = 6;
    • STATE_DECLINED = 7;
  • STATUS_COMPLETE - флаг завершенности задачи;
  • PRIORITY - приоритет;
  • MARK - оценка;
  • CREATED_BY_LAST_NAME - постановщик; 
  • RESPONSIBLE_LAST_NAME - исполнитель; 
  • GROUP_ID - рабочая группа. 
  • TIME_ESTIMATE - затраченное время;
  • ALLOW_CHANGE_DEADLINE - флаг "Разрешить исполнителю менять крайний срок";
  • ALLOW_TIME_TRACKING - флаг включения учета затраченного времени по задаче;
  • MATCH_WORK_TIME - пропустить выходные дни;
  • FAVORITE - Избранное;
  • SORTING - индекс сортировки;
  • MESSAGE_ID - идентификатор поискового индекса;

Примечание: В коробочной версии этот список полей для сортировки можно вернуть методом CTasks::getAvailableOrderFields().

Направление сортировки может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию;
 Необязательный. По умолчанию фильтруется по убыванию идентификатора задачи.
filterМассив вида {"фильтруемое_поле": "значение фильтра" [, ...]}. Фильтруемое поле может принимать значения:
  • ID - идентификатор задачи;
  • PARENT_ID - идентификатор родительской задачи;
  • GROUP_ID - идентификатор рабочей группы;
  • CREATED_BY - постановщик;
  • STATUS_CHANGED_BY - пользователь, последним изменивший статус задачи;
  • PRIORITY - приоритет;
  • FORUM_TOPIC_ID - идентификатор темы форума;
  • RESPONSIBLE_ID - исполнитель;
  • TITLE - название задачи (можно искать по шаблону [%_]) ;
  • TAG -  тэг;
  • REAL_STATUS - статус задачи. Константы отражающие статусы задач:
    • STATE_NEW = 1;
    • STATE_PENDING = 2;
    • STATE_IN_PROGRESS = 3;
    • STATE_SUPPOSEDLY_COMPLETED = 4;
    • STATE_COMPLETED = 5;
    • STATE_DEFERRED = 6;
    • STATE_DECLINED = 7;
  • STATUS - статус для сортировки. Аналогичен REAL_STATUS, но имеет дополнительно три мета-статуса:
    • -3 - задача почти просрочена;
    • -2 - не просмотренная задача;
    • -1 - просроченная задача.
  • MARK - оценка;
  • SITE_ID - идентификатор сайта;
  • ADD_IN_REPORT - задача в отчете (Y|N);
  • DATE_START - дата начала выполнения;
  • DEADLINE - крайний срок;
  • CREATED_DATE - дата создания;
  • CLOSED_DATE - дата завершения;
  • CHANGED_DATE - дата последнего изменения;
  • ACCOMPLICE - идентификатор соисполнителя;
  • AUDITOR - идентификатор наблюдателя;
  • DEPENDS_ON - идентификатор предыдущей задачи; 
  • ONLY_ROOT_TASKS -  только задачи, которые не являются подзадачами (корневые задачи), а также подзадачи родительской задачи, к которой текущий пользователь доступа не имеет (Y|N).
  • STAGE_ID - стадия;
  • UF_CRM_TASK - элементы CRM;

Перед названием фильтруемого поля может указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно

"значения фильтра" - одиночное значение или массив.

Необязательный. По умолчанию записи не фильтруются.

selectМассив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы.

Поле сортировки может принимать значения:

  • ID - идентификатор задачи;
  • PARENT_ID - идентификатор родительской задачи;
  • TITLE - название задачи;
  • DESCRIPTION - описание;
  • MARK - оценка;
  • PRIORITY - приоритет:
    • 0 - низкий;
    • 1 - средний;
    • 2 - высокий.
  • STATUS - статус;
  • MULTITASK - множественная задача;
  • NOT_VIEWED - непросмотренная задача;
  • REPLICATE - повторяемая задача;
  • GROUP_ID - рабочая группа. 
  • STAGE_ID - стадия;
  • CREATED_BY - постановщик;
  • CREATED_DATE - дата создания;
  • RESPONSIBLE_ID - исполнитель;
  • ACCOMPLICES - идентификатор соисполнителя;
  • AUDITORS - идентификатор аудитора;
  • CHANGED_BY - кем изменена задача;
  • CHANGED_DATE - дата изменения;
  • STATUS_CHANGED_DATE - дата изменения статуса;
  • CLOSED_BY - кто закрыл задачу;
  • CLOSED_DATE - дата закрытия задачи;
  • DATE_START - дата начала;
  • DEADLINE - крайний срок;
  • START_DATE_PLAN - плановое начало;
  • END_DATE_PLAN - плановое завершение;
  • GUID - GUID (статистически уникальный 128-битный идентификатор);
  • XML_ID - внешний код;
  • COMMENTS_COUNT - количество комментариев;
  • NEW_COMMENTS_COUNT - количество новых комментариев;
  • TASK_CONTROL - принять в работу;
  • ADD_IN_REPORT - добавить в отчет;
  • FORKED_BY_TEMPLATE_ID - создано из шаблона;
  • TIME_ESTIMATE - затраченное время;
  • TIME_SPENT_IN_LOGS - затраченное время из истории изменений;
  • MATCH_WORK_TIME - пропустить выходные дни;
  • FORUM_TOPIC_ID - идентификатор темы форума;
  • FORUM_ID - идентификатор форума;
  • SITE_ID - идентификатор сайта;
  • SUBORDINATE - задача подчиненного;
  • FAVORITE - Избранное;
  • VIEWED_DATE - дата последнего просмотра;
  • SORTING - индекс сортировки;
  • DURATION_PLAN - затрачено (план);
  • DURATION_FACT - затрачено (фактически);
  • DURATION_TYPE - тип единицы измерения в планируемой длительности: days, hours или minutes

По умолчанию будут возвращены все невычисляемые поля основной таблицы запроса.

Список полей можно уточнить, отправив запрос tasks.task.getFields.

limitЧисло записей. Параметр указывается, если нужно получить число записей более значения по умолчанию (50). Все записи одним запросом вернуть нет возможности, это ограничение всех методов REST API. Вы можете несколькими запросами по 50 записей в ответе получить все лиды. Для этого просто передавайте параметр start со значением, кратным 50. Пример:
start=0
start=50
start=100
startСколько первых записей пропускать в результате. В связи с техническими ограничениями значение этого параметра всегда должно быть кратно 50. Например, при значении 50 в результате будут отображаться 51-я запись и последующие, а первые 50 записей будут пропущены.

При значении -1 будет отключён подсчёт количества.

Примеры

  1. Вывод всех задач с названием "task for test", отбор по полям ID, TITLE, STATUS, сортировка по полю ID (сортировка по возрастанию):
    BX24.callMethod(
    	'tasks.task.list', 
    	{filter:{TITLE:'task for test'}, select: ['ID','TITLE','STATUS'], order:{ID:'asc'}}, 
    	function(res){console.log(res.answer.result);}
    );
    

    Результат:


  2. Вывод всех неповторяющихся задач, добавленных в "Избранное", у которых статус больше 2:
    BX24.callMethod(
    	'tasks.task.list', 
    	{filter:{'>STATUS':2, REPLICATE:'N', '::SUBFILTER-PARAMS':{FAVORITE:'Y'}}}, 
    	function(res){console.log(res.answer.result);}
    );
    

    Результат:

    result: {
    	tasks: [
    		{
    			id: "117",
    			parentId: null,
    			title: "123",
    			description: "Opisanie.   Ghhhhh",
    			mark: null,
    			priority: "0",
    			status: "6",
    			multitask: "N",
    			notViewed: "N",
    			replicate: "N",
    			groupId: "0",
    			stageId: "0",
    			createdBy: "1",
    			createdDate: "2019-03-15T15:41:27+02:00",
    			responsibleId: "1",
    			changedBy: "1",
    			changedDate: "2019-03-18T14:06:18+02:00",
    			statusChangedBy: "1",
    			statusChangedDate: "2019-03-18T14:05:54+02:00",
    			closedBy: null,
    			closedDate: null,
    			dateStart: null,
    			deadline: null,
    			startDatePlan: null,
    			endDatePlan: null,
    			guid: "{aef54f9d-8157-464b-9069-6ded9745e26d}",
    			xmlId: null,
    			commentsCount: null,
    			taskControl: "Y",
    			addInReport: "N",
    			forkedByTemplateId: null,
    			timeEstimate: "0",
    			timeSpentInLogs: null,
    			matchWorkTime: "N",
    			forumTopicId: null,
    			forumId: null,
    			siteId: "s1",
    			subordinate: "Y",
    			favorite: "Y",
    			exchangeModified: null,
    			exchangeId: null,
    			outlookVersion: "7",
    			viewedDate: "2019-03-18T14:07:08+02:00",
    			sorting: "2564.0000000",
    			durationPlan: "0",
    			durationFact: null,
    			durationType: "days",
    			descriptionInBbcode: "Y",
    			ufCrmTask: [ ],
    			ufTaskWebdavFiles: [
    				22
    			],
    			ufAuto915658270214: null,
    			ufAuto244510721805: null,
    			ufAuto637823431651: "0",
    			ufMailMessage: null,
    			ufAuto226929532613: "",
    			ufAuto187628303463: null,
    			auditors: [ ],
    			accomplices: [ ],
    			newCommentsCount: 0,
    			subStatus: "6",
    			creator: {
    				id: "1",
    				name: "Гречушников Максим",
    				link: "/company/personal/user/1/",
    				icon: "/upload/resize_cache/main/9b0/58_58_2/p2dVDwA46Nw.png",
    			},
    			responsible: {
    				id: "1",
    				name: "Гречушников Максим",
    				link: "/company/personal/user/1/",
    				icon: "/upload/resize_cache/main/9b0/58_58_2/p2dVDwA46Nw.png",
    			},
    		}
    	]
    },
    

Пример отключения постраничной навигации:

$result = CRest::call(
	'tasks.task.list',
	[
		'filter' => [
			'>ID' => 50
		],
		'start' => -1,
	]
);

В rest-методе tasks.task.list фиксированное число выбранных элементов - 50. К сожалению, на данный момент это значение нельзя изменить. Чтобы пропустить первые N записей необходимо передать параметр start: N. Пример:

BX24.callMethod('tasks.task.list',{start: 1150})


© «Битрикс», 2001-2024, «1С-Битрикс», 2024