• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/watcher/membership/handler/department.php
  • Класс: BitrixCalendarWatcherMembershipHandlerDepartment
  • Вызов: Department::getAffectedDepartments
static function getAffectedDepartments($departments, int $departmentIBlockId): array
{
	if (!is_array($departments))
	{
		$departments = [$departments];
	}

	$affectedDepartments = [];

	foreach ($departments as $departmentId)
	{
		$result = CIBlockSection::GetNavChain($departmentIBlockId, $departmentId, ['ID'], true);
		foreach ($result as $affectedDepartment)
		{
			if(!in_array($affectedDepartment, $affectedDepartments))
			{
				$affectedDepartments[] = $affectedDepartment;
			}
		}
	}

	return $affectedDepartments;
}