• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/monitor/report/dayreport.php
  • Класс: BitrixTimemanMonitorReportDayReport
  • Вызов: DayReport::createReport
protected function createReport(): void
{
	$report = [];
	foreach ($this->history as $entryIndex => $entry)
	{
		if (!$entry['timeStart'])
		{
			unset($entry['timeStart']);
		}

		$entry['privateCode'] = $entryIndex;
		$entry['time'] = (int)$entry['time'];

		switch ($entry['type'])
		{
			case EntityType::ABSENCE_SHORT:
				$entry['allowedTime'] = Time::msToSec(Config::$shortAbsenceTime);
				$entry['hint'] = Loc::getMessage('TIMEMAN_MONITOR_DAY_REPORT_ABSENCE_SHORT_HINT');
				break;

			case EntityType::OTHER:
				$entry['allowedTime'] = Time::msToSec(Config::$otherTime);
				$entry['hint'] = Loc::getMessage('TIMEMAN_MONITOR_DAY_REPORT_OTHER_HINT');
				break;
		}

		$report['data'][] = $entry;
	}

	$timeline = [];
	foreach ($this->chartData as $interval)
	{
		$timeline['data'][] = [
			'type' => $interval['TYPE'],
			'start' => $interval['START']->format('Y-m-d' . 'T' . 'H:i:s' . '.Z'),
			'finish' => $interval['FINISH']->format('Y-m-d' . 'T' . 'H:i:s' . '.Z'),
		];
	}

	$this->report = $report;
	$this->timeline = $timeline;
}