findAllByUserIdAndRoleXmlIds
\Bitrix\HumanResources\Item\Collection\NodeMemberCollection public \Bitrix\HumanResources\Public\Service\Node\UserService::findAllByUserIdAndRoleXmlIds( int $userId, array $roleXmlIds );
Метод возвращает все вхождения пользователя в узлы организационной структуры с указанными ролями. Нестатический метод.
Параметры
| Параметр | Описание |
|---|---|
$userId | Идентификатор пользователя |
$roleXmlIds | Массив XML-идентификаторов ролей из значений перечисления \Bitrix\HumanResources\Type\NodeMemberRole. Неизвестные значения игнорируются |
Возвращаемое значение
Метод возвращает коллекцию \Bitrix\HumanResources\Item\Collection\NodeMemberCollection. Если вхождения не найдены или массив не содержит допустимых ролей, коллекция будет пустой.
Пример
<?php
use Bitrix\HumanResources\Public\Service\Container;
use Bitrix\HumanResources\Type\NodeMemberRole;
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;
}
$nodeMembers = Container::getUserService()->findAllByUserIdAndRoleXmlIds(
$userId,
[NodeMemberRole::Employee->value],
);
foreach ($nodeMembers as $nodeMember)
{
echo 'Идентификатор подразделения: ' . $nodeMember->nodeId . PHP_EOL;
}
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026