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

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
Наверх