findAllByMemberEntityId
\Bitrix\HumanResources\Item\Collection\NodeCollection public \Bitrix\HumanResources\Public\Service\NodeService::findAllByMemberEntityId( int $memberEntityId, \Bitrix\HumanResources\Type\MemberEntityType $memberEntityType = \Bitrix\HumanResources\Type\MemberEntityType::USER, ?int $structureId = null, array $nodeTypes = [\Bitrix\HumanResources\Type\NodeEntityType::DEPARTMENT], ?\Bitrix\HumanResources\Type\StructureAction $structureAction = null, \Bitrix\HumanResources\Enum\NodeActiveFilter $nodeActiveFilter = \Bitrix\HumanResources\Enum\NodeActiveFilter::ONLY_GLOBAL_ACTIVE );
Метод возвращает узлы организационной структуры, в которых состоит указанный пользователь. Дополнительные параметры ограничивают результат по структуре, типам узлов, правам доступа и активности. Нестатический метод.
Параметры
| Параметр | Описание |
|---|---|
$memberEntityId | Идентификатор пользователя |
$memberEntityType | Тип участника. Доступно значение MemberEntityType::USER. Значение по умолчанию — MemberEntityType::USER |
$structureId | Идентификатор организационной структуры. При значении null метод использует структуру по умолчанию |
$nodeTypes | Типы узлов из перечисления NodeEntityType. По умолчанию метод выбирает подразделения |
$structureAction | Действие из перечисления StructureAction, для которого нужно проверить доступ. Значение null отключает фильтр по правам |
$nodeActiveFilter | Режим фильтрации узлов по активности из перечисления NodeActiveFilter. Значение по умолчанию — NodeActiveFilter::ONLY_GLOBAL_ACTIVE |
Возвращаемое значение
Метод возвращает коллекцию \Bitrix\HumanResources\Item\Collection\NodeCollection. Если пользователь не состоит в подходящих узлах, коллекция будет пустой.
Особенности
Параметр $nodeActiveFilter фильтрует узлы. Метод не фильтрует записи об участии пользователя по их активности.
Пример
<?php
use Bitrix\HumanResources\Public\Service\Container;
use Bitrix\Main\Engine\CurrentUser;
use Bitrix\Main\Loader;
if (!Loader::includeModule('humanresources'))
{
echo 'Модуль humanresources не установлен';
return;
}
$userId = (int)CurrentUser::get()->getId();
if ($userId <= 0)
{
echo 'Пользователь не авторизован';
return;
}
$nodes = Container::getNodeService()->findAllByMemberEntityId($userId);
print_r($nodes->getIds());
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026