- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/tracking/internals/phonenumber.php
- Класс: Bitrix\Crm\Tracking\Internals\PhoneNumberTable
- Вызов: PhoneNumberTable::getUsingByNumber
static function getUsingByNumber($number)
{
static $list = null;
if ($list === null)
{
$list = [];
$rows = static::getList([
'select' => ['VALUE', 'SUM_USE_CNT' ,'MAX_DATE_USE'],
'runtime' => [
new Orm\Fields\ExpressionField('SUM_USE_CNT', 'SUM(%s)', ['USE_CNT']),
new Orm\Fields\ExpressionField('MAX_DATE_USE', 'MAX(%s)', ['DATE_USE']),
],
'group' => ['VALUE'],
'cache' => ['ttl' => 1]
])->fetchAll();
foreach ($rows as $row)
{
$rowNumber = Communication\Normalizer::normalizePhone($row['VALUE']);
$rowNumber = $rowNumber ?: $row['VALUE'];
$row['VALUE'] = $rowNumber;
$list[$rowNumber] = $row;
}
}
return [
'cnt' => isset($list[$number]) ? $list[$number]['SUM_USE_CNT'] : 0,
'date' => isset($list[$number])
? (string) $list[$number]['MAX_DATE_USE']
: null,
];
}