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

prepareQuery

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

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

Параметры

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

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

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

Исключения

Метод может выбросить \Bitrix\HumanResources\Exception\NodeAccessFilterException, \Bitrix\Main\ArgumentException, \Bitrix\Main\ObjectPropertyException или \Bitrix\Main\SystemException.

Особенности

Метод объединяет добавленные фильтры с помощью логики AND. Если направление поиска в NodeFilter не равно null, запрос также выбирает связь CHILD_NODES.

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

Если набор полей не изменен через setSelect(), запрос выбирает поля ID, TYPE, PARENT_ID, STRUCTURE_ID, ACTIVE, GLOBAL_ACTIVE, NAME, DESCRIPTION, ACCESS_CODE, COLOR_NAME и SORT.

Пример

<?php

use Bitrix\HumanResources\Builder\Structure\Filter\NodeFilter;
use Bitrix\HumanResources\Builder\Structure\NodeDataBuilder;
use Bitrix\Main\Loader;

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

// Идентификатор существующего узла структуры
$nodeId = 1;

try
{
	$builder = NodeDataBuilder::createWithFilter(
		NodeFilter::createWithNodeId($nodeId),
	);
	$query = $builder->prepareQuery();

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


Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх