• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/service/itemservice.php
  • Класс: BitrixTasksScrumServiceItemService
  • Вызов: ItemService::getList
public function getList(
	PageNavigation $nav,
	$filter = [],
	$select = [],
	$order = []
): ?QueryResult
{
	try
	{
		if (!Loader::includeModule('socialnetwork'))
		{
			$this->errorCollection->setError(
				new Error(
					'Unable to load socialnetwork.',
					self::ERROR_COULD_NOT_GET_LIST
				)
			);

			return null;
		}

		$query = new QueryQuery(ItemTable::getEntity());

		if (empty($select))
		{
			$select = ['*'];
		}
		$query->setSelect($select);
		$query->setFilter($filter);
		$query->setOrder($order);

		if ($nav)
		{
			$query->setOffset($nav->getOffset());
			$query->setLimit($nav->getLimit() + 1);
		}

		$query->registerRuntimeField(
			'SE',
			new ReferenceField(
				'SE',
				EntityTable::getEntity(),
				Join::on('this.ENTITY_ID', 'ref.ID'),
				['join_type' => 'inner']
			)
		);

		$query->registerRuntimeField(
			'UG',
			new ReferenceField(
				'UG',
				UserToGroupTable::getEntity(),
				Join::on('this.SE.GROUP_ID', 'ref.GROUP_ID')->where('ref.USER_ID', $this->userId),
				['join_type' => 'inner']
			)
		);

		$queryResult = $query->exec();

		return $queryResult;
	}
	catch (Exception $e)
	{
		$this->errorCollection->setError(
			new Error(
				$e->getMessage(),
				self::ERROR_COULD_NOT_GET_LIST
			)
		);

		return null;
	}
}