• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/item/task/template.php
  • Класс: BitrixTasksItemTaskTemplate
  • Вызов: Template::generateMap
static function generateMap(array $parameters = array())
{
	$map = parent::generateMap(array(
		'EXCLUDE' => array(
			'FILES' => true, // deprecated
			'STATUS' => true, // status in the template?!

			// will be overwritten below
			'RESPONSIBLE_ID' => true,
			'ACCOMPLICES' => true,
			'AUDITORS' => true,
			'RESPONSIBLES' => true,
			'DEPENDS_ON' => true,
			'REPLICATE_PARAMS' => true,
			'TAGS' => true,
		)
	));

	$map->placeFields(array(
		// override some tablet fields
		'RESPONSIBLE_ID' => new TemplateFieldLegacyResponsible(array(
			'NAME' => 'RESPONSIBLE_ID',

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_READABLE' => false, // will be calculated from RESPONSIBLES
			'DB_WRITABLE' => true,

			'OFFSET_GET_CACHEABLE' => false,
		)),
		'ACCOMPLICES' => new CollectionInteger(array(
			'NAME' => 'ACCOMPLICES',

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_READABLE' => true,
			'DB_WRITABLE' => true,
			'DB_SERIALIZED' => true,
		)),
		'AUDITORS' => new CollectionInteger(array(
			'NAME' => 'AUDITORS',

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_READABLE' => true,
			'DB_WRITABLE' => true,
			'DB_SERIALIZED' => true,
		)),
		'RESPONSIBLES' => new CollectionInteger(array(
			'NAME' => 'RESPONSIBLES',

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_READABLE' => true,
			'DB_WRITABLE' => true,
			'DB_SERIALIZED' => true,
		)),
		'DEPENDS_ON' => new CollectionInteger(array(
			'NAME' => 'DEPENDS_ON',

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_READABLE' => true,
			'DB_WRITABLE' => true,
			'DB_SERIALIZED' => true,
		)),
		'REPLICATE_PARAMS' => new FieldReplicateParams(array(
			'NAME' => 'REPLICATE_PARAMS',

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_READABLE' => true,
			'DB_WRITABLE' => true,
		)),

		// sub-entity
		'SE_CHECKLIST' => new FieldCheckList(array(
			'NAME' => 'SE_CHECKLIST',
			'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_SE_CHECKLIST'),

			'SOURCE' => Scalar::SOURCE_CUSTOM,
		)),
		'SE_ACCESS' => new FieldAccess(array(
			'NAME' => 'SE_ACCESS',
			'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_SE_ACCESS'),

			'SOURCE' => Scalar::SOURCE_CUSTOM,
		)),
		'SE_TAG' => new FieldTag(array(
			'NAME' => 'SE_TAG',
			'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_SE_TAG'),

			'SOURCE' => Scalar::SOURCE_TABLET,
			'DB_NAME' => 'TAGS',
			'DB_READABLE' => true,
			'DB_WRITABLE' => true,
		)),
		'BASE_TEMPLATE_ID' => new FieldBaseTemplate(array(
			'NAME' => 'BASE_TEMPLATE_ID',
			'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_BASE_TEMPLATE_ID'),

			'SOURCE' => Scalar::SOURCE_CUSTOM,
		)),
	));

	return $map;
}