• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/monitor/history/userchart.php
  • Класс: BitrixTimemanMonitorHistoryUserChart
  • Вызов: UserChart::getReportOnDate
static function getReportOnDate(int $userId, Date $date): array
{
	$query = MonitorUserChartTable::query();

	$query->setSelect([
		'TYPE' => 'GROUP_TYPE',
		'START' => 'TIME_START',
		'FINISH' => 'TIME_FINISH',
		'DESKTOP_CODE',
	]);

	$query->addFilter('=USER_ID', $userId);
	$query->addFilter('=DATE_LOG', $date);

	$rawChartData = $query->exec()->fetchAll();

	$chartDataByDesktop = [];

	$chartDataByDesktop['INFO'] = [
		'USER_ID' => $userId
	];

	foreach ($rawChartData as $chartData)
	{
		$chartDataByDesktop['DATA'][$chartData['DESKTOP_CODE']]['CHART_DATA'][] = [
			'type' => $chartData['TYPE'],
			'start' => $chartData['START']->format('Y-m-d' . 'T' . 'H:i:s' . '.Z'),
			'finish' => $chartData['FINISH']->format('Y-m-d' . 'T' . 'H:i:s' . '.Z'),
		];
	}

	return $chartDataByDesktop;
}