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