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

GetList

Описание и параметры

CDBResult
CTasks::GetList(
	array arOrder = array(),
	array arFilter = array(),
	array arSelect = array(),
	array arParams = array()
);

Возвращает список задач по фильтру arFilter, отсортированный в порядке arOrder.

Примечание: Метод принимает массив конфигурационных параметров и генерирует скрипты, необходимые для показа файлового диалога. Метод статический.

Параметры метода

Параметр Описание С версии
arOrder Массив для сортировки результата. Массив вида array("поле сортировки"=>"направление сортировки" [, ...]).
Поле для сортировки может принимать значения:
  • TITLE - название задачи;
  • DATE_START - дата старта;
  • DEADLINE - крайний срок;
  • STATUS - статус;
  • PRIORITY - приоритет;
  • MARK - оценка;
  • CREATED_BY - постановщик; 
  • RESPONSIBLE_ID - исполнитель; 
  • GROUP_ID - рабочая группа. 
Направление сортировки может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию;
  Необязательный. По умолчанию фильтруется по убыванию идентификатора задачи.

Примечание. Допускается сортировка по пользовательским полям.

arFilter Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]). Фильтруемое поле может принимать значения:
  • ID - идентификатор задачи;
  • PARENT_ID - идентификатор родительской задачи;
  • GROUP_ID - идентификатор рабочей группы;
  • CREATED_BY - постановщик;
  • STATUS_CHANGED_BY - пользователь, последним изменивший статус задачи;
  • PRIORITY - приоритет;
  • FORUM_TOPIC_ID - идентификатор темы форума;
  • RESPONSIBLE_ID - исполнитель;
  • TITLE - название задачи (можно искать по шаблону [%_]) ;
  • TAG -  тэг;
  • REAL_STATUS - статус задачи. Константы отражающие статусы задач:
    • CTasks::STATE_NEW = 1;
    • CTasks::STATE_PENDING = 2;
    • CTasks::STATE_IN_PROGRESS = 3;
    • CTasks::STATE_SUPPOSEDLY_COMPLETED = 4;
    • CTasks::STATE_COMPLETED = 5;
    • CTasks::STATE_DEFERRED = 6;
    • CTasks::STATE_DECLINED = 7;
  • STATUS - статус для сортировки. Аналогичен REAL_STATUS, но имеет дополнительно два мета статуса:
    • -2 - не просмотренная задача;
    • -1 - просроченная задача.
  • MARK - оценка;
  • XML_ID - внешний код;
  • 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); 
  • SUBORDINATE_TASKS -  задачи текущего пользователя и его подчиненных (Y|N); 
  • OVERDUED -  были просрочены (Y|N); 
  • DEPARTMENT_ID - идентификатор отдела.
Перед названием фильтруемого поля может указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно

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

Необязательный. По умолчанию записи не фильтруются.
arSelect Массив возвращаемых полей задачи.
arParams Массив дополнительных параметров. Необязательный. 12.5.0

Возвращаемое значение

Возвращается объект CDBResult

Примеры использования

<?
// Выбираем все задачи пользователя с ID = 2
if (CModule::IncludeModule("tasks"))
{
	$res = CTasks::GetList(
		Array("TITLE" => "ASC"), 
		Array("RESPONSIBLE_ID" => "2")
	);
	while ($arTask = $res->GetNext())
	{
		echo "Task name: ".$arTask["TITLE"]."
"; } } ?>

<?
// Выбираем задачи, для которых пользователь является исполнителем или соисполнителем

$arFilter = array(
	'::LOGIC' => 'AND',
	'CHECK_PERMISSIONS' => 'Y',
	'ONLY_ROOT_TASKS' => 'Y',
	'SAME_GROUP_PARENT' => 'Y',
	'::SUBFILTER-1' => array(
		'::LOGIC' => 'OR',
		'::SUBFILTER-1' => array(
		'ACCOMPLICE' => array($USER->GetID()),
		'REAL_STATUS' => array(CTasks::STATE_NEW, CTasks::STATE_PENDING, CTasks::STATE_IN_PROGRESS),
		),
		'::SUBFILTER-2' => array(
			'RESPONSIBLE_ID' => $USER->GetID(),
			'REAL_STATUS' => array(CTasks::STATE_NEW, CTasks::STATE_PENDING, CTasks::STATE_IN_PROGRESS),
		),
	),
);
?>

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