• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasks_report_helper.php
  • Класс: CTasksReportHelper
  • Вызов: CTasksReportHelper::getColumnList
static function getColumnList()
{
	IncludeModuleLangFile(__FILE__);

	$columnList = array(
		'ID',
		'TITLE',
		'DESCRIPTION_TR',
		'PRIORITY',
		'STATUS',
		'STATUS_PSEUDO',
		'STATUS_SUB' => array(
			'IS_NEW',
			'IS_OPEN',
			'IS_RUNNING',
			'IS_FINISHED',
			'IS_OVERDUE',
			'IS_MARKED',
			'IS_EFFECTIVE',
			'IS_EFFECTIVE_PRCNT'
		),
		'ADD_IN_REPORT',
		'CREATED_DATE',
		'START_DATE_PLAN',
		'END_DATE_PLAN',
		'DURATION_PLAN_HOURS',
		'DATE_START',
		'CHANGED_DATE',
		'CLOSED_DATE',
		'DEADLINE',
		'TIME_SPENT_IN_LOGS',
		'TIME_SPENT_IN_LOGS_FOR_PERIOD',
		'ALLOW_TIME_TRACKING',
		'TIME_ESTIMATE',
		'MARK',
		'TAGS',
		'GROUP' => array(
			'ID',
			'NAME'
		),
		'CREATED_BY_USER' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),
		'RESPONSIBLE' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),
		'Member:TASK_COWORKED.USER' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),
		'CHANGED_BY_USER' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),
		'STATUS_CHANGED_BY_USER' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),
		'CLOSED_BY_USER' => array(
			'ID',
			'SHORT_NAME',
			'NAME',
			'LAST_NAME',
			'WORK_POSITION'
		),

		'DURATION', // deprecated, use TIME_SPENT_IN_LOGS
		'DURATION_FOR_PERIOD', // deprecated, use TIME_SPENT_IN_LOGS_FOR_PERIOD
	);

	// Append user fields
	$blPostfix = defined('self::UF_BOOLEAN_POSTFIX') ? self::UF_BOOLEAN_POSTFIX : '_BLINL';
	self::prepareUFInfo();
	if (is_array(self::$ufInfo) && count(self::$ufInfo) > 0)
	{
		if (isset(self::$ufInfo['TASKS_TASK']) && is_array(self::$ufInfo['TASKS_TASK'])
			&& count(self::$ufInfo['TASKS_TASK']) > 0)
		{
			foreach (self::$ufInfo['TASKS_TASK'] as $ufKey => $uf)
			{
				if (($uf['USER_TYPE_ID'] !== 'datetime' && $uf['USER_TYPE_ID'] !== 'boolean')
					|| $uf['MULTIPLE'] === 'Y'
					|| mb_substr($ufKey, -mb_strlen(self::UF_DATETIME_SHORT_POSTFIX)) === self::UF_DATETIME_SHORT_POSTFIX
					|| mb_substr($ufKey, -mb_strlen($blPostfix)) === $blPostfix)
				{
					$columnList[] = $ufKey;
				}
			}
		}
	}

	return $columnList;
}