...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/tracking/analytics/provider/base.php
- Класс: Bitrix\Crm\Tracking\Analytics\Provider\Base
- Вызов: Base::getData
public function getData() { if ($this->data === null) { $dateFrom = clone $this->dateFrom; if ($dateFrom instanceof DateTime) { $dateFrom->setTime(0, 0, 0); } $dateTo = clone $this->dateTo; if ($dateTo instanceof DateTime) { $dateTo->setTime(0, 0, 0); } $cacheDir = '/crm/tracking/data/provider'; $cacheTtl = (int) Config\Option::get('crm', 'crm_tracking_actions_cache_ttl') ?: self::CacheTtl; $cacheId = $this->getCode() . '|' . serialize($this->filter) . '|' . serialize($this->group) . '|' . get_class($this); $cache = Cache::createInstance(); if ($cache->initCache($cacheTtl, $cacheId, $cacheDir)) { $this->data = $cache->getVars()['data']; } else { $hasData = false; $this->data = []; foreach ($this->query() as $row) { if (is_numeric($row[self::TrackingSourceId]) || $row[self::TrackingSourceId] == '') { $row[self::TrackingSourceId] = (int) $row[self::TrackingSourceId]; } $this->data[] = $row; $hasData = $hasData || !empty($row['SUM']) || !empty($row['CNT']); } if ($hasData) { $cache->startDataCache(); $cache->endDataCache(['data' => $this->data]); } } } return $this->data; }