• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/absence.php
  • Класс: BitrixTimemanAbsence
  • Вызов: Absence::getSubordinateDepartments
static function getSubordinateDepartments($userId)
{
	if (
		!BitrixMainLoader::includeModule('intranet')
		|| !BitrixMainLoader::includeModule('iblock')
	)
	{
		return Array();
	}

	$departmentId = self::getSubordinateDepartmentId($userId);

	$departments = [];
	if (!empty($departmentId) || Common::isAdmin())
	{
		$filter = array(
			"ID" => $departmentId,
			"IBLOCK_ID" => COption::GetOptionInt('intranet', 'iblock_structure', 0)
		);
		if (Common::isAdmin())
		{
			unset($filter["ID"]);
		}
		$result = CIBlockSection::GetList(
			array('LEFT_MARGIN' => 'ASC'),
			$filter,
			false,
			array('ID', 'NAME', 'IBLOCK_SECTION_ID', 'UF_HEAD', 'LEFT_MARGIN')
		);
		while ($row = $result->Fetch())
		{
			$departments[] = Array(
				'ID' => $row['ID'],
				'NAME' => $row['NAME'],
			);
		}
	}

	return $departments;
}