• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/model/schedule/violation/violationrules.php
  • Класс: BitrixTimemanModelScheduleViolationViolationRules
  • Вызов: ViolationRules::create
static function create($scheduleId, $violationForm = null, $entityCode = null)
{
	if ($entityCode === null)
	{
		$entityCode = EntityCodesHelper::getAllUsersCode();
	}
	$violationRules = new static();
	$violationRules->setScheduleId($scheduleId);
	$violationRules->setEntityCode($entityCode);
	if ($violationForm)
	{
		$violationRules->setMinExactEnd($violationForm->minExactEnd);
		$violationRules->setMaxExactStart($violationForm->maxExactStart);
		$violationRules->setMinOffsetEnd($violationForm->minOffsetEnd);
		$violationRules->setMaxOffsetStart($violationForm->maxOffsetStart);
		$violationRules->setRelativeStartFrom($violationForm->relativeStartFrom);
		$violationRules->setRelativeStartTo($violationForm->relativeStartTo);
		$violationRules->setRelativeEndFrom($violationForm->relativeEndFrom);
		$violationRules->setRelativeEndTo($violationForm->relativeEndTo);
		$violationRules->setMinDayDuration($violationForm->minDayDuration);
		$violationRules->setMaxAllowedToEditWorkTime($violationForm->maxAllowedToEditWorkTime);
		$violationRules->setMaxWorkTimeLackForPeriod($violationForm->maxWorkTimeLackForPeriod);
		$violationRules->setMaxShiftStartDelay($violationForm->maxShiftStartDelay);
		$violationRules->setMissedShiftStart($violationForm->missedShiftStart);
		$violationRules->setUsersToNotifyByForm($violationForm);
	}

	return $violationRules;
}