• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/model/schedule/schedule.php
  • Класс: BitrixTimemanModelScheduleSchedule
  • Вызов: Schedule::create
static function create(ScheduleForm $scheduleForm, $calendarId)
{
	$schedule = new static();
	$schedule->setName($scheduleForm->name);
	$schedule->setScheduleType($scheduleForm->type);
	$schedule->setReportPeriod($scheduleForm->reportPeriod);
	$schedule->setReportPeriodOptions([
		ScheduleTable::REPORT_PERIOD_OPTIONS_START_WEEK_DAY => ScheduleTable::REPORT_PERIOD_OPTIONS_START_WEEK_DAY_MONDAY,
	]);
	if ($scheduleForm->reportPeriodStartWeekDay !== null)
	{
		$schedule->setReportPeriodOptions([
			ScheduleTable::REPORT_PERIOD_OPTIONS_START_WEEK_DAY => $scheduleForm->reportPeriodStartWeekDay,
		]);
	}
	$schedule->setControlledActions($scheduleForm->controlledActions);
	$schedule->setCalendarId($calendarId);
	$schedule->defineAllowedDevices($scheduleForm->allowedDevices);
	$schedule->setIsForAllUsers((bool)$scheduleForm->isForAllUsers);
	$schedule->setFlexibleScheduleSettings();
	$schedule->defineWorktimeRestrictions($scheduleForm->restrictionsForm);

	return $schedule;
}