• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_entity_list_builder.php
  • Класс: \CCrmEntityListBuilder
  • Вызов: CCrmEntityListBuilder::PrepareFromQueryData
static function PrepareFromQueryData(array $arSql, $tableName, $tableAlias, $dbType, $arNavStartParams = false)
{
	global $DB;

	$sql = 'SELECT '.$arSql['SELECT'].' FROM '.$tableName.' '.$tableAlias.' '.$arSql['FROM'].' GROUP BY '.$arSql['GROUPBY'].' ORDER BY '.$arSql['ORDERBY'];
	$enableNavigation = is_array($arNavStartParams);
	$top = $enableNavigation && isset($arNavStartParams['nTopCount']) ? (int)$arNavStartParams['nTopCount'] : 0;
	if ($enableNavigation && $top <= 0)
	{
		if(COption::GetOptionString('crm', 'enable_rough_row_count', 'Y') === 'Y')
		{
			$cnt = self::GetRoughRowCount($arSql, $tableName, $tableAlias, $dbType);
		}
		else
		{
			$cnt = CSqlUtil::GetRowCount($arSql, $tableName, $tableAlias, $dbType);
		}

		$dbResult = new CDBResult();
		$dbResult->NavQuery($sql, $cnt, $arNavStartParams);
		return $dbResult;
	}

	if($enableNavigation && $top > 0)
	{
		CSqlUtil::PrepareSelectTop($sql, $top, $dbType);
	}
	$dbResult = $DB->Query($sql, false, 'File: '.__FILE__.'
Line: '.__LINE__); return $dbResult; }