- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/volume/event.php
- Класс: Bitrix\Crm\Volume\Event
- Вызов: Event::measureFiles
public function measureFiles()
{
$eventQuery = $this->prepareQuery();
if ($this->prepareFilter($eventQuery))
{
$entityGroupField = array(
'DATE_CREATED_SHORT' => 'DATE_CREATED_SHORT',
);
$eventFileQuery = $this->getEventFileMeasureQuery();
foreach ($entityGroupField as $alias => $field)
{
$eventFileQuery->addSelect($field, $alias);
$eventFileQuery->addGroup($field);
}
$querySql = $eventFileQuery->getQuery();
$querySql = "
SELECT
'".static::getIndicatorId()."' as INDICATOR_TYPE,
'".$this->getOwner()."' as OWNER_ID,
DATE_CREATED_SHORT as DATE_CREATE,
SUM(FILE_SIZE) as FILE_SIZE,
SUM(FILE_COUNT) as FILE_COUNT
FROM
(
{$querySql}
) src
GROUP BY
DATE_CREATE
HAVING
SUM(FILE_COUNT) > 0
";
Crm\VolumeTable::updateFromSelect(
$querySql,
array(
'FILE_SIZE' => 'destination.FILE_SIZE + source.FILE_SIZE',
'FILE_COUNT' => 'destination.FILE_COUNT + source.FILE_COUNT',
),
array(
'INDICATOR_TYPE',
'OWNER_ID',
'DATE_CREATE',
)
);
}
return $this;
}