• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/monitor/report/workinghoursreport.php
  • Класс: BitrixTimemanMonitorReportWorkingHoursReport
  • Вызов: WorkingHoursReport::createQuery
protected function createQuery(): Query
{
	$query = MonitorUserLogTable::query();

	$query->setSelect([
		'USER_ID',
		'WORKING_HOURS'
	]);

	$query->registerRuntimeField(new ExpressionField(
		'WORKING_HOURS',
		'round(sum(%s) / 60 / 60, 0)',
		'TIME_SPEND'
	));

	if ($this->getFilter() !== null)
	{
		$query->setFilter($this->getFilter());
	}

	if ($this->getOrder() !== null)
	{
		$query->setOrder($this->getOrder());
	}

	if ($this->getLimit() !== null)
	{
		$query->setLimit($this->getLimit());
	}

	if ($this->getOffset() !== null)
	{
		$query->setOffset($this->getOffset());
	}

	return $query;
}