Документация для разработчиков
Темная тема

getByAccessCode

?\Bitrix\HumanResources\Item\Node public
\Bitrix\HumanResources\Public\Service\NodeService::getByAccessCode(
	string $accessCode,
	?\Bitrix\HumanResources\Type\NodeEntityType $nodeType = null,
	?\Bitrix\HumanResources\Type\StructureAction $structureAction = null
);

Метод возвращает узел организационной структуры по коду доступа. При передаче действия метод дополнительно проверяет доступ текущего пользователя. Нестатический метод.

Параметры

ПараметрОписание
$accessCodeКод доступа узла организационной структуры
$nodeTypeТип узла из перечисления NodeEntityType. Метод учитывает параметр при проверке действия. Значение по умолчанию — null
$structureActionДействие из перечисления StructureAction, для которого нужно проверить доступ. Значение null отключает проверку

Возвращаемое значение

Метод возвращает объект \Bitrix\HumanResources\Item\Node. Если узел не найден, метод возвращает null.

Исключения

Метод может выбросить \Bitrix\Main\ArgumentException, \Bitrix\Main\ObjectPropertyException или \Bitrix\Main\SystemException при ошибке ORM-запроса. При проверке действия неподдерживаемый код доступа вызывает \InvalidArgumentException.

Особенности

В текущей реализации передача ненулевого $structureAction приводит к \TypeError: метод передает $nodeType и $structureAction в репозиторий в позиции с другими типами. До исправления реализации вызывайте метод без проверки действия.

Пример

<?php

use Bitrix\HumanResources\Public\Service\Container;
use Bitrix\Main\Loader;

if (!Loader::includeModule('humanresources'))
{
	echo 'Модуль humanresources не установлен';
	return;
}

$nodeService = Container::getNodeService();
$rootNode = $nodeService->getRootNode();
if ($rootNode?->accessCode === null)
{
	echo 'Код доступа корневого узла не найден';
	return;
}

$node = $nodeService->getByAccessCode($rootNode->accessCode);

echo $node === null ? 'Узел не найден' : $node->name;


Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх