- Модуль: conversion
- Путь к файлу: ~/bitrix/modules/conversion/lib/reportcontext.php
- Класс: BitrixConversionReportContext
- Вызов: ReportContext::getCountersDeprecated
private function getCountersDeprecated(array $filter = null, array $steps = null)
{
$query = new Query(InternalsContextCounterDayTable::getEntity());
if ($filter)
{
$query->setFilter($filter);
}
$i = 0;
foreach ($this->attributes as $name => $value)
{
self::setAttributeFilter($query, '_conversion_attribute_'.(++ $i).'_', $name, $value);
}
$query->registerRuntimeField(null, new ExpressionField('VALUE_SUM', 'SUM(%s)', array('VALUE')));
$query->setSelect(array('NAME', 'VALUE_SUM'));
$query->addGroup('NAME');
if ($steps) // TODO
{
$query->addGroup('DAY');
$query->addSelect('DAY');
}
$result = $query->exec();
$counters = array();
if ($steps)
{
$steps = array(); // TODO
while ($row = $result->fetch())
{
$name = $row['NAME'];
$value = $row['VALUE_SUM'];
$counters[$name] += $value;
$steps[$row['DAY']->format('Y-m-d')][$name] = $value;
}
$counters['STEPS'] = $steps;
}
else
{
while ($row = $result->fetch())
{
$counters[$row['NAME']] = $row['VALUE_SUM'];
}
}
return $counters;
}