• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/provider/templateprovider.php
  • Класс: BitrixTasksProviderTemplateProvider
  • Вызов: TemplateProvider::makeArFields
private function makeArFields(): self
{
	$this->arFields = [

		// task fields
		'ID' 						=> ['FIELD' => 'TT.ID', 'DEFAULT' => true],
		'TITLE' 					=> ['FIELD' => 'TT.TITLE', 'DEFAULT' => true],
		'DESCRIPTION' 				=> ['FIELD' => 'TT.DESCRIPTION', 'DEFAULT' => true],
		'DESCRIPTION_IN_BBCODE' 	=> ['FIELD' => 'TT.DESCRIPTION_IN_BBCODE', 'DEFAULT' => true],
		'PRIORITY' 					=> ['FIELD' => 'TT.PRIORITY', 'DEFAULT' => true],
		'STATUS' 					=> ['FIELD' => 'TT.STATUS', 'DEFAULT' => true],
		'STAGE_ID' 					=> ['FIELD' => 'TT.STAGE_ID', 'DEFAULT' => true],
		'RESPONSIBLE_ID' 			=> ['FIELD' => 'TT.RESPONSIBLE_ID', 'DEFAULT' => true],
		'DEADLINE_AFTER' 			=> ['FIELD' => 'TT.DEADLINE_AFTER', 'DEFAULT' => true],
		'START_DATE_PLAN_AFTER' 	=> ['FIELD' => 'TT.START_DATE_PLAN_AFTER', 'DEFAULT' => true],
		'END_DATE_PLAN_AFTER' 		=> ['FIELD' => 'TT.END_DATE_PLAN_AFTER', 'DEFAULT' => true],
		'REPLICATE' 				=> ['FIELD' => 'TT.REPLICATE', 'DEFAULT' => true],
		'CREATED_BY' 				=> ['FIELD' => 'TT.CREATED_BY', 'DEFAULT' => true],
		'XML_ID' 					=> ['FIELD' => 'TT.XML_ID', 'DEFAULT' => true],
		'ALLOW_CHANGE_DEADLINE' 	=> ['FIELD' => 'TT.ALLOW_CHANGE_DEADLINE', 'DEFAULT' => true],
		'ALLOW_TIME_TRACKING' 		=> ['FIELD' => 'TT.ALLOW_TIME_TRACKING', 'DEFAULT' => true],
		'TASK_CONTROL' 				=> ['FIELD' => 'TT.TASK_CONTROL', 'DEFAULT' => true],
		'ADD_IN_REPORT' 			=> ['FIELD' => 'TT.ADD_IN_REPORT', 'DEFAULT' => true],
		'GROUP_ID' 					=> ['FIELD' => 'TT.GROUP_ID', 'DEFAULT' => true],
		'PARENT_ID' 				=> ['FIELD' => 'TT.PARENT_ID', 'DEFAULT' => true],
		'MULTITASK' 				=> ['FIELD' => 'TT.MULTITASK', 'DEFAULT' => true],
		'SITE_ID' 					=> ['FIELD' => 'TT.SITE_ID', 'DEFAULT' => true],
		'ACCOMPLICES' 				=> ['FIELD' => 'TT.ACCOMPLICES', 'DEFAULT' => true],
		'AUDITORS' 					=> ['FIELD' => 'TT.AUDITORS', 'DEFAULT' => true],
		'RESPONSIBLES' 				=> ['FIELD' => 'TT.RESPONSIBLES', 'DEFAULT' => true],
		'FILES' 					=> ['FIELD' => 'TT.FILES', 'DEFAULT' => true],
		'TAGS' 						=> ['FIELD' => 'TT.TAGS', 'DEFAULT' => true],
		'DEPENDS_ON' 				=> ['FIELD' => 'TT.DEPENDS_ON', 'DEFAULT' => true],
		'MATCH_WORK_TIME' 			=> ['FIELD' => 'TT.MATCH_WORK_TIME', 'DEFAULT' => true],

		// template parameters
		'TASK_ID' 					=> ['FIELD' => 'TT.TASK_ID', 'DEFAULT' => true],
		'TPARAM_TYPE' 				=> ['FIELD' => 'TT.TPARAM_TYPE', 'DEFAULT' => true],
		'TPARAM_REPLICATION_COUNT' 	=> ['FIELD' => 'TT.TPARAM_REPLICATION_COUNT', 'DEFAULT' => true],
		'REPLICATE_PARAMS' 			=> ['FIELD' => 'TT.REPLICATE_PARAMS', 'DEFAULT' => true],

		// virtual
		'BASE_TEMPLATE_ID' 			=> ['FIELD' => 'CASE WHEN TDD.' . DependencyTable::getPARENTIDColumnName() . ' IS NULL THEN 0 ELSE TDD.' . DependencyTable::getPARENTIDColumnName() . ' END', 'DEFAULT' => false],
		'TEMPLATE_CHILDREN_COUNT' 	=> ['FIELD' => 'CASE WHEN TEMPLATE_CHILDREN_COUNT IS NULL THEN 0 ELSE TEMPLATE_CHILDREN_COUNT END', 'DEFAULT' => false],

		// additional
		'CREATED_BY_NAME' 			=> ['FIELD' => 'CU.NAME', 'DEFAULT' => true, 'ALWAYS' => true],
		'CREATED_BY_LAST_NAME' 		=> ['FIELD' => 'CU.LAST_NAME ', 'DEFAULT' => true, 'ALWAYS' => true],
		'CREATED_BY_SECOND_NAME' 	=> ['FIELD' => 'CU.SECOND_NAME', 'DEFAULT' => true, 'ALWAYS' => true],
		'CREATED_BY_LOGIN' 			=> ['FIELD' => 'CU.LOGIN', 'DEFAULT' => true, 'ALWAYS' => true],
		'CREATED_BY_WORK_POSITION' 	=> ['FIELD' => 'CU.WORK_POSITION', 'DEFAULT' => true, 'ALWAYS' => true],
		'CREATED_BY_PHOTO' 			=> ['FIELD' => 'CU.PERSONAL_PHOTO', 'DEFAULT' => true, 'ALWAYS' => true],
		'RESPONSIBLE_NAME' 			=> ['FIELD' => 'RU.NAME', 'DEFAULT' => true, 'ALWAYS' => true],
		'RESPONSIBLE_LAST_NAME' 	=> ['FIELD' => 'RU.LAST_NAME', 'DEFAULT' => true, 'ALWAYS' => true],
		'RESPONSIBLE_SECOND_NAME' 	=> ['FIELD' => 'RU.SECOND_NAME', 'DEFAULT' => true, 'ALWAYS' => true],
		'RESPONSIBLE_LOGIN' 		=> ['FIELD' => 'RU.LOGIN', 'DEFAULT' => true, 'ALWAYS' => true],
		'RESPONSIBLE_WORK_POSITION' => ['FIELD' => 'RU.WORK_POSITION', 'DEFAULT' => true, 'ALWAYS' => true],
		'RESPONSIBLE_PHOTO' 		=> ['FIELD' => 'RU.PERSONAL_PHOTO', 'DEFAULT' => true, 'ALWAYS' => true],
		'SCENARIO' 					=> ['FIELD' => 'TS.SCENARIO', 'DEFAULT' => true, 'ALWAYS' => true],
	];

	return $this;
}