- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/handler/lead.php
- Класс: Bitrix\Crm\Integration\Report\Handler\Lead
- Вызов: Lead::getLeadAmountCountAndSum
private function getLeadAmountCountAndSum()
{
$query = new Query(LeadTable::getEntity());
$query->addSelect(new \Bitrix\Main\Entity\ExpressionField('DISTINCT_OWNER_ID', 'DISTINCT %s', 'FULL_HISTORY.OWNER_ID'));
$query->addSelect('OPPORTUNITY_ACCOUNT');
$query->addSelect('ACCOUNT_CURRENCY_ID', 'CURRENCY');
$this->addToQueryFilterCase($query);
$this->addPermissionsCheck($query);
$connection = Application::getConnection();
$querySql = 'SELECT SUM(res.OPPORTUNITY_ACCOUNT) as SUM, COUNT(res.DISTINCT_OWNER_ID) COUNT, res.CURRENCY as CURRENCY FROM(';
$querySql .= $query->getQuery();
$querySql .= ') as res';
$queryWithResult = $connection->query($querySql);
$result = $queryWithResult->fetchAll();
return !empty($result[0])
? $result[0]
: [
'COUNT' => 0,
'SUM' => 0,
'CURRENCY' => \CCrmCurrency::GetAccountCurrencyID()
];
}