- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/columnmanager.php
- Класс: CTaskColumnList
- Вызов: CTaskColumnList::get
static function get(array $parameters = array())
{
static $cols;
if($cols === null)
{
$cols = array(
self::COLUMN_ID => array(
'DB_COLUMN' => 'ID',
'SORTABLE' => true
),
self::COLUMN_TITLE => array(
'DB_COLUMN' => 'TITLE',
'SORTABLE' => true
),
self::COLUMN_ORIGINATOR => array(
'DB_COLUMN' => 'CREATED_BY',
'SORTABLE' => true
),
self::COLUMN_RESPONSIBLE => array(
'DB_COLUMN' => 'RESPONSIBLE_ID',
'SORTABLE' => true
),
self::COLUMN_DEADLINE => array(
'DB_COLUMN' => 'DEADLINE',
'SORTABLE' => true
),
self::COLUMN_GRADE => array(
'DB_COLUMN' => 'MARK',
'SORTABLE' => true
),
self::COLUMN_PRIORITY => array(
'DB_COLUMN' => 'PRIORITY',
'SORTABLE' => true
),
self::COLUMN_STATUS => array(
'DB_COLUMN' => 'STATUS'
),
self::COLUMN_GROUP_ID => array(
'DB_COLUMN' => 'GROUP_ID'
),
self::COLUMN_TIME_ESTIMATE => array(
'DB_COLUMN' => 'TIME_ESTIMATE',
'SORTABLE' => true
),
self::COLUMN_ALLOW_TIME_TRACKING => array(
'DB_COLUMN' => 'ALLOW_TIME_TRACKING',
'SORTABLE' => true
),
self::COLUMN_TIME_SPENT_IN_LOGS => array(
'DB_COLUMN' => 'TIME_SPENT_IN_LOGS'
),
self::COLUMN_ALLOW_CHANGE_DEADLINE => array(
'DB_COLUMN' => 'ALLOW_CHANGE_DEADLINE',
'SORTABLE' => true
),
self::COLUMN_CREATED_DATE => array(
'DB_COLUMN' => 'CREATED_DATE',
'SORTABLE' => true
),
self::COLUMN_CHANGED_DATE => array(
'DB_COLUMN' => 'CHANGED_DATE',
'SORTABLE' => true
),
self::COLUMN_CLOSED_DATE => array(
'DB_COLUMN' => 'CLOSED_DATE',
'SORTABLE' => true
),
self::COLUMN_UF_CRM => array(
'DB_COLUMN' => 'UF_CRM_TASK'
)
);
// add userfields, if any
if(is_array($parameters['USER_FIELDS'] ?? null))
{
$userfields = $parameters['USER_FIELDS'];
}
else
{
// simply skip for backward compatibility
$userfields = array();
}
$canSortFilterUf = Option::get('tasks', 'task_list_uf_sort_filter', false);
$ufNames = array_keys($userfields);
foreach($ufNames as $ufName)
{
if($ufName == 'UF_CRM_TASK') // already there actually
{
continue;
}
$cols[] = array(
'DB_COLUMN' => $ufName,
'SORTABLE' => $canSortFilterUf && in_array($userfields[$ufName]['USER_TYPE_ID'], array('integer', 'string', 'double', 'boolean', 'date', 'datetime', 'enumeration'))
);
}
}
return ($cols);
}