CAllCrmQuote::GetTopIDs

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CAllCrmQuote
  4. GetTopIDs
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_quote.php
  • Класс: \CAllCrmQuote
  • Вызов: CAllCrmQuote::GetTopIDs
static function GetTopIDs($top, $sortType = 'ASC', $userPermissions = null)
{
	$top = (int) $top;
	if ($top <= 0)
	{
		return [];
	}

	$sortType = mb_strtoupper($sortType) !== 'DESC' ? 'ASC' : 'DESC';

	$permissionSql = '';
	if (!CCrmPerms::IsAdmin())
	{
		if (!$userPermissions)
		{
			$userPermissions = CCrmPerms::GetCurrentUserPermissions();
		}

		$permissionSql = self::BuildPermSql('L', 'READ', ['PERMS' => $userPermissions]);
	}

	if ($permissionSql === false)
	{
		return [];
	}

	$query = new Bitrix\Main\Entity\Query(Crm\QuoteTable::getEntity());
	$query->addSelect('ID');
	$query->addOrder('ID', $sortType);
	$query->setLimit($top);

	if ($permissionSql !== '')
	{
		$permissionSql = mb_substr($permissionSql, 7);
		$query->where('ID', 'in', new Bitrix\Main\DB\SqlExpression($permissionSql));
	}

	$rs = $query->exec();
	$results = [];
	while ($field = $rs->fetch())
	{
		$results[] = (int) $field['ID'];
	}
	return $results;
}

Добавить комментарий