findByUserIdAndRoleXmlIds
?\Bitrix\HumanResources\Item\NodeMember public \Bitrix\HumanResources\Public\Service\Node\UserService::findByUserIdAndRoleXmlIds( int $userId, array $roleXmlIds );
Метод возвращает первое найденное вхождение пользователя в узел организационной структуры с одной из указанных ролей. Нестатический метод.
Параметры
| Параметр | Описание |
|---|---|
$userId | Идентификатор пользователя |
$roleXmlIds | Массив XML-идентификаторов ролей из значений перечисления \Bitrix\HumanResources\Type\NodeMemberRole. Неизвестные значения игнорируются |
Возвращаемое значение
Метод возвращает объект \Bitrix\HumanResources\Item\NodeMember или null, если вхождение пользователя с указанной ролью не найдено либо массив не содержит допустимых ролей.
Пример
<?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;
}
$nodeMember = Container::getUserService()->findByUserIdAndRoleXmlIds(
$userId,
[NodeMemberRole::Head->value, NodeMemberRole::DeputyHead->value],
);
echo $nodeMember === null
? 'Пользователь не руководит подразделением'
: 'Идентификатор подразделения: ' . $nodeMember->nodeId;
© «Битрикс», 2001-2026, «1С-Битрикс», 2026