• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_company.php
  • Класс: \CAllCrmCompany
  • Вызов: CAllCrmCompany::GetTotalCount
static function GetTotalCount(?int $categoryId = 0)
{
	$canUseCache = defined('BX_COMP_MANAGED_CACHE');

	$cacheId = self::TOTAL_COUNT_CACHE_ID;
	if ($categoryId > 0)
	{
		$cacheId .= '_c' . $categoryId;
	}
	elseif ($categoryId === null)
	{
		$cacheId .= '_all';
	}

	if($canUseCache && $GLOBALS['CACHE_MANAGER']->Read(self::CACHE_TTL, $cacheId, 'b_crm_contact'))
	{
		return $GLOBALS['CACHE_MANAGER']->Get($cacheId);
	}

	$filter = [
		'CHECK_PERMISSIONS' => 'N',
	];
	if ($categoryId !== null)
	{
		$filter['@CATEGORY_ID'] = $categoryId;
	}
	$result = (int)self::GetListEx(
		[],
		$filter,
		[],
		false,
		[],
		['ENABLE_ROW_COUNT_THRESHOLD' => false]
	);

	if($canUseCache)
	{
		$GLOBALS['CACHE_MANAGER']->Set($cacheId, $result);
	}

	return $result;
}