• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasks_report_helper.php
  • Класс: CTasksReportHelper
  • Вызов: CTasksReportHelper::formatResultsTotal
static function formatResultsTotal(&$total, &$columnInfo, &$customChartTotal = null)
{
	parent::formatResultsTotal($total, $columnInfo);

	foreach ($total as $k => $v)
	{
		// remove prefix TOTAL_
		$original_k = mb_substr($k, 6);

		$cInfo = $columnInfo[$original_k];

		if (mb_strpos($k, 'DURATION_PLAN_HOURS') !== false && !mb_strlen($cInfo['prcnt']))
		{
			if (!empty($v))
			{
				$days = floor($v/24);
				$hours = $v - $days*24;
				$v = '';
				if (!empty($days)) $v .= $days.GetMessage('TASKS_REPORT_DURATION_DAYS');
				if (!empty($hours))
				{
					if (!empty($days)) $v .= ' ';
					$v .= $hours.GetMessage('TASKS_REPORT_DURATION_HOURS');
				}
				$total[$k] = $v;
			}
		}
		elseif (mb_strpos($k, 'DURATION') !== false && !mb_strlen($cInfo['prcnt']))
		{
			$hours = floor($v/60);
			$minutes = date('i', ($v % 60)*60);
			$total[$k] = $hours.':'.$minutes;
		}
		elseif (
			(
				(mb_strpos($k, 'TIME_ESTIMATE') !== false)
				||
				(mb_strpos($k, 'TIME_SPENT_IN_LOGS') !== false)
			) && !mb_strlen($cInfo['prcnt']))
		{
			$hours = floor($v/3600);
			$minutes = date('i', $v % 3600);
			$total[$k] = $hours.':'.$minutes;
		}
		elseif (mb_strpos($k, 'IS_EFFECTIVE_PRCNT') !== false && $cInfo['prcnt'] === '')
		{
			if (self::$nRows > 0 && mb_substr($v, 0, 2) !== '--')
				$total[$k] = round(doubleval($v) / self::$nRows, 2).'%';
		}
	}
}