• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/components/kanban/services/checklist.php
  • Класс: BitrixTasksComponentsKanbanServicesCheckList
  • Вызов: CheckList::getCheckList
public function getCheckList(array $items): array
{
	if (empty($items))
	{
		return $items;
	}

	$query = new Query(CheckListTable::getEntity());
	$query->setSelect(['TASK_ID', 'IS_COMPLETE', new ExpressionField('CNT', 'COUNT(TASK_ID)')]);
	$query->setFilter(['TASK_ID' => array_keys($items),]);
	$query->setGroup(['TASK_ID', 'IS_COMPLETE']);
	$query->registerRuntimeField('', new ReferenceField(
		'IT',
		CheckListTreeTable::class,
		Join::on('this.ID', 'ref.CHILD_ID')->where('ref.LEVEL', 1),
		['join_type' => 'INNER']
	));

	$res = $query->exec();
	while ($row = $res->fetch())
	{
		$checkList =& $items[$row['TASK_ID']]['data']['check_list'];
		$checkList[$row['IS_COMPLETE'] == 'Y' ? 'complete' : 'work'] = $row['CNT'];
	}

	return $items;
}