• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/repository/worktime/worktimerepository.php
  • Класс: BitrixTimemanRepositoryWorktimeWorktimeRepository
  • Вызов: WorktimeRepository::findLatestRecord
public function findLatestRecord($userId): ?WorktimeRecord
{
	return WorktimeRecordTable::query()
		->addSelect('*')
		->addSelect('SCHEDULE')
		->addSelect('SCHEDULE.SCHEDULE_VIOLATION_RULES')
		->addSelect('SHIFT')
		->registerRuntimeField((new Reference('SCHEDULE',
			ScheduleTable::class,
			Join::on('this.SCHEDULE_ID', 'ref.ID')))->configureJoinType('LEFT')
		)
		->registerRuntimeField((new Reference('SHIFT',
			ShiftTable::class,
			Join::on('this.SHIFT_ID', 'ref.ID')))->configureJoinType('LEFT')
		)
		->where('USER_ID', $userId)
		->addOrder('ID', 'DESC')
		->setLimit(1)
		->setCacheTtl(3600 * 12)
		->cacheJoins(true)
		->exec()
		->fetchObject();
}