- Модуль: 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();
}