• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/service/schedule/scheduleservice.php
  • Класс: BitrixTimemanServiceScheduleScheduleService
  • Вызов: ScheduleService::excludeSelectedDepartmentsFromOtherSchedules
private function excludeSelectedDepartmentsFromOtherSchedules($schedule)
{
	$assignmentsMap = (new ScheduleFormHelper())->calculateSchedulesMapBySchedule($schedule, true);

	foreach ($assignmentsMap as $assignCode => $schedules)
	{
		foreach ($schedules as $schedulesData)
		{
			if (EntityCodesHelper::isDepartment($assignCode)
				&& EntityCodesHelper::getDepartmentId($assignCode) !== $this->scheduleProvider->getDepartmentRepository()->getBaseDepartmentId())
			{
				$this->excludeDepartments($schedulesData['ID'], [EntityCodesHelper::getDepartmentId($assignCode)]);
			}
		}
	}
	if ($schedule->getIsForAllUsers())
	{
		$this->scheduleProvider->updateIsForAllUsers($schedule);
	}
	return new ScheduleServiceResult();
}