createWithFilter
static public static \Bitrix\HumanResources\Builder\Structure\NodeDataBuilder::createWithFilter( \Bitrix\HumanResources\Builder\Structure\Filter\NodeFilter $filter );
Метод создает билдер данных узлов структуры и добавляет в него фильтр. Статический метод.
Параметры
| Параметр | Описание |
|---|---|
$filter |
Объект NodeFilter с условиями выборки узлов структуры |
Возвращаемое значение
Метод возвращает новый объект \Bitrix\HumanResources\Builder\Structure\NodeDataBuilder с добавленным фильтром.
Поля настроек возвращаемого объекта:
| Поле | Значение после вызова | Метод получения |
|---|---|---|
filters |
Массив из одного объекта NodeFilter, переданного в параметре $filter |
getFilters() |
limit |
0 — количество записей не ограничено |
getLimit() |
offset |
0 — смещение не задано |
getOffset() |
cacheTtl |
86400 секунд |
getCacheTtl() |
select |
Поля ID, TYPE, PARENT_ID, STRUCTURE_ID, ACTIVE, GLOBAL_ACTIVE, NAME, DESCRIPTION, ACCESS_CODE, COLOR_NAME и SORT |
getSelect() |
sort |
null — сортировка не задана |
getSort() |
Поля настроек недоступны для прямого чтения. Получайте их значения через методы, указанные в таблице.
Особенности
Вызов эквивалентен созданию объекта билдера и последующему вызову addFilter().
Методы setLimit(), setOffset(), setCacheTtl(), setSelect() и setSort() настраивают выборку. Метод get() возвращает первый результат, а getAll() — все результаты.
Пример
<?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
{
$node = NodeDataBuilder::createWithFilter(
NodeFilter::createWithNodeId($nodeId),
)->get();
if ($node === null)
{
echo 'Узел не найден';
return;
}
echo 'Узел: ' . $node->name;
}
catch (\Throwable $exception)
{
echo 'Не удалось получить узел: ' . $exception->getMessage();
}
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026