- Модуль: 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;
}