• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/entity/entitybase.php
  • Класс: Bitrix\Crm\Entity\EntityBase
  • Вызов: EntityBase::getTopIdsFromPermissions
private function getTopIdsFromPermissions(\CCrmPerms $userPermissions, $limit, $sortOrder = 'asc', array $categories = [0]): array
{
	$builderOptions = (new Options())
		->setRawQueryOrder((string)$sortOrder)
		->setRawQueryLimit((int)$limit)
		->setNeedReturnRawQuery(true)
		->setUseRawQueryDistinct($limit > 1)
	;
	$builderResult = $this->buildPermissionSqlForCategories($userPermissions->GetUserID(), $builderOptions, $categories);

	if (!$builderResult->hasRestrictions())
	{
		throw new \Bitrix\Main\NotSupportedException('Unable to get top ids from permissions');
	}

	$result = [];
	$permissionRecords = \Bitrix\Main\Application::getConnection()->query($builderResult->getSql());
	while ($fields = $permissionRecords->fetch())
	{
		$result[] = (int)$fields['ENTITY_ID'];
	}

	return $result;
}