• Модуль: 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;
}