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

	/** @var DataManager $checkListDataController */
	$checkListDataController = static::getCheckListDataController();

	$query = new Query($checkListDataController::getEntity());
	$query->setSelect($filteredSelect);
	$query->setFilter($filteredFilter);
	$query->setOrder($filteredOrder);
	$query->registerRuntimeField('', new ReferenceField(
		'IT',
		static::getCheckListTreeDataController(),
		Join::on('this.ID', 'ref.CHILD_ID')->where('ref.LEVEL', 1),
		['join_type' => 'LEFT']
	));

	$checkListMemberDataController = static::getCheckListMemberDataController();
	if ($checkListMemberDataController)
	{
		$query->registerRuntimeField('', new ReferenceField(
			'IM',
			$checkListMemberDataController,
			Join::on('this.ID', 'ref.ITEM_ID'),
			['join_type' => 'LEFT']
		));
	}

	$res = $query->exec();

	$items = [];
	while ($item = $res->fetch())
	{
		$itemId = $item['ID'];

		$item = static::processItemMembers($item, $items, $select);
		$item = static::processItemAttachments($item, $select);
		$item = static::processItemCommons($item, $select);

		$items[$itemId] = $item;
	}

	return $items;
}