• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/checklist/checklistfacade.php
  • Класс: BitrixTasksCheckListCheckListFacade
  • Вызов: CheckListFacade::getFilteredSelect
static function getFilteredSelect($select)
{
	$filteredSelect = [];

	if (empty($select))
	{
		$select = static::$selectFields;
	}

	foreach (array_values($select) as $field)
	{
		if (in_array($field, static::$selectFields, true))
		{
			if ($field === 'MEMBERS')
			{
				foreach (static::$memberFields as $userField)
				{
					if ($userField === 'USER_ID')
					{
						$value = 'IM.USER_ID';
					}
					else if ($userField === 'USER_TYPE')
					{
						$value = 'IM.TYPE';
					}
					else
					{
						$value = 'IM.USER.'.str_replace('USER_', '', $userField);
					}

					$filteredSelect[$userField] = $value;
				}
				continue;
			}

			if ($field === 'PARENT_ID')
			{
				$filteredSelect[$field] = 'IT.PARENT_ID';
				continue;
			}

			if ($field === 'ATTACHMENTS')
			{
				if (ModuleManager::isModuleInstalled('disk'))
				{
					$filteredSelect[] = 'UF_CHECKLIST_FILES';
				}
				continue;
			}

			$filteredSelect[] = $field;
		}
	}

	if (!in_array('ID', $filteredSelect, true))
	{
		$filteredSelect[] = 'ID';
	}

	return $filteredSelect;
}