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

prepareQuery

\Bitrix\Main\ORM\Query\Query public
\Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder::prepareQuery(
);

Метод создает ORM-запрос к таблице участников узлов структуры и применяет настройки билдера. Нестатический метод.

Параметры

Без параметров.

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

Метод возвращает объект \Bitrix\Main\ORM\Query\Query. Запрос учитывает заданные поля выборки, ограничение, смещение, время кеширования, сортировку и фильтры.

Исключения

Метод может выбросить \Bitrix\HumanResources\Exception\NodeAccessFilterException, \Bitrix\Main\ArgumentException, \Bitrix\Main\ObjectPropertyException или \Bitrix\Main\SystemException. Исключение \InvalidArgumentException возникает, если устаревший список ролей структуры используется вместе с roleFilter в NodeMemberFilter.

Особенности

Метод объединяет добавленные фильтры с помощью логики AND. Для NodeFilter и NodeSort метод задает псевдоним NODE.

По умолчанию время кеширования запроса составляет 86400 секунд. Метод применяет ограничение, смещение и время кеширования, только если их значения больше нуля.

Если набор полей не изменен через setSelect(), запрос выбирает поля ID, ENTITY_TYPE, ENTITY_ID, NODE_ID, ACTIVE, ADDED_BY, CREATED_AT, UPDATED_AT и ROLE.

Пример

<?php

use Bitrix\HumanResources\Builder\Structure\Filter\Column\EntityIdFilter;
use Bitrix\HumanResources\Builder\Structure\Filter\NodeMemberFilter;
use Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder;
use Bitrix\Main\Loader;

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

// Идентификатор пользователя, который состоит в структуре
$userId = 1;

try
{
	$builder = NodeMemberDataBuilder::createWithFilter(
		new NodeMemberFilter(
			entityIdFilter: EntityIdFilter::fromEntityId($userId),
		),
	);
	$query = $builder->prepareQuery();

	echo $query->getQuery();
}
catch (\Throwable $exception)
{
	echo 'Не удалось подготовить запрос: ' . $exception->getMessage();
}


© «Битрикс», 2001-2026, «1С-Битрикс», 2026