• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/task.php
  • Класс: CTasks
  • Вызов: CTasks::GetDepartmentManagersIDs
static function GetDepartmentManagersIDs($arDepartments, $IBlockID)
{
	if (!CModule::IncludeModule('iblock'))
	{
		return [];
	}

	$dbSections = CIBlockSection::GetList(
		['SORT' => 'ASC'],
		[
			'ID' => $arDepartments,
			'IBLOCK_ID' => $IBlockID,
			'CHECK_PERMISSIONS' => 'N',
		],
		false,                                // don't count
		[
			'ID',
			'UF_HEAD',
			'IBLOCK_SECTION_ID',
		]
	);

	$arUserIDs = [];
	while ($arSection = $dbSections->Fetch())
	{
		if ($arSection['UF_HEAD'] > 0)
		{
			$arUserIDs[] = $arSection['UF_HEAD'];
		}

		if ($arSection['IBLOCK_SECTION_ID'] > 0)
		{
			$arUserIDs = array_merge(
				$arUserIDs,
				self::GetDepartmentManagersIDs([$arSection['IBLOCK_SECTION_ID']], $IBlockID)
			);
		}
	}

	return $arUserIDs;
}