• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/intranet/user.php
  • Класс: BitrixTasksIntegrationIntranetis
  • Вызов: is::searchImmediateEmployeesInSubDepartments
static function searchImmediateEmployeesInSubDepartments($departmentId)
{
	$arDepartmentHeads           = array();
	$arQueueDepartmentsEmployees = array();	// IDs of departments where we need employees

	$arSubDepartments = CIntranetUtils::getSubDepartments($departmentId);
	if (is_array($arSubDepartments))
	{
		foreach ($arSubDepartments as $subDepId)
		{
			$headUserId = CIntranetUtils::GetDepartmentManagerID($subDepId);

			if ($headUserId)
				$arDepartmentHeads[] = $headUserId;
			else
			{
				$arQueueDepartmentsEmployees[] = $subDepId;

				$result = static::searchImmediateEmployeesInSubDepartments($subDepId);

				$arDepartmentHeads = array_merge(
					$arDepartmentHeads,
					$result['arDepartmentHeads']
				);

				$arQueueDepartmentsEmployees = array_merge(
					$arQueueDepartmentsEmployees,
					$result['arQueueDepartmentsEmployees']
				);
			}
		}
	}

	return (array(
		'arDepartmentHeads'           => $arDepartmentHeads,
		'arQueueDepartmentsEmployees' => $arQueueDepartmentsEmployees
	));
}