• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/service/worktime/worktimeservice.php
  • Класс: BitrixTimemanServiceWorktimeWorktimeService
  • Вызов: WorktimeService::runAfterRecordSave
private function runAfterRecordSave(WorktimeRecord $record, ?Schedule $schedule, ?Shift $shift, $eventType)
{
	if ($schedule && $schedule->isAutoClosing() &&
		$record->getRecordedStopTimestamp() === 0 &&
		$record->getAutoClosingAgentId() === 0)
	{
		switch ($eventType)
		{
			case WorktimeEventTable::EVENT_TYPE_START:
			case WorktimeEventTable::EVENT_TYPE_EDIT_START:
			case WorktimeEventTable::EVENT_TYPE_START_WITH_ANOTHER_TIME:
				$this->worktimeAgentManager->createAutoClosingAgent($record, $schedule, $shift);
				break;
			default:
				break;
		}
	}
	if (!empty($record->collectValues(Values::CURRENT)))
	{
		$this->worktimeRepository->save($record);
	}
}