• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/service/worktime/worktimeservice.php
  • Класс: BitrixTimemanServiceWorktimeWorktimeService
  • Вызов: WorktimeService::save
protected function save($record, $worktimeEvents)
{
	$res = $this->worktimeRepository->save($record);
	if (!$res->isSuccess())
	{
		foreach ($res->getErrors() as $error)
		{
			if ($error->getCode() === WorktimeEventsManager::ERROR_CODE_CANCEL)
			{
				return WorktimeServiceResult::createWithErrorText('cannot perform this action because it has been canceled by event handler');
			}
		}
		return WorktimeServiceResult::createByResult($res);
	}
	foreach ($worktimeEvents as $worktimeEvent)
	{
		/** @var WorktimeRecordIdStorable $worktimeEvent */
		$worktimeEvent->setRecordId($record->getId());
		$res = $this->worktimeRepository->save($worktimeEvent);
		if (!$res->isSuccess())
		{
			return WorktimeServiceResult::createByResult($res);
		}
	}

	return new WorktimeServiceResult();
}