- Модуль: 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;
}