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

createWithFilter

self public static
\Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder::createWithFilter(
	\Bitrix\HumanResources\Contract\Builder\Filter $filter
);

Метод создает билдер данных участников узлов структуры и добавляет в него фильтр. Статический метод.

Параметры

Параметр Описание
$filter Объект с условиями выборки, который реализует интерфейс \Bitrix\HumanResources\Contract\Builder\Filter

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

Метод возвращает новый объект \Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder с добавленным фильтром.

Поля настроек возвращаемого объекта:

Поле Значение после вызова Метод получения
filters Массив из одного объекта, переданного в параметре $filter и реализующего интерфейс \Bitrix\HumanResources\Contract\Builder\Filter getFilters()
limit 0 — количество записей не ограничено getLimit()
offset 0 — смещение не задано getOffset()
cacheTtl 86400 секунд getCacheTtl()
select Поля ID, ENTITY_TYPE, ENTITY_ID, NODE_ID, ACTIVE, ADDED_BY, CREATED_AT, UPDATED_AT и ROLE getSelect()
sort null — сортировка не задана getSort()

Поля настроек недоступны для прямого чтения. Получайте их значения через методы, указанные в таблице.

Особенности

Вызов эквивалентен созданию объекта билдера и последующему вызову addFilter().

Методы setLimit(), setOffset(), setCacheTtl(), setSelect() и setSort() настраивают выборку. Метод get() возвращает первый результат, а getAll() — все результаты.

Пример

<?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
{
	$members = NodeMemberDataBuilder::createWithFilter(
		new NodeMemberFilter(
			entityIdFilter: EntityIdFilter::fromEntityId($userId),
		),
	)->getAll();

	if ($members->empty())
	{
		echo 'Привязки пользователя к узлам не найдены';
		return;
	}

	echo 'Идентификаторы узлов: ' . implode(', ', $members->getNodeIds());
}
catch (\Throwable $exception)
{
	echo 'Не удалось получить участников узлов: ' . $exception->getMessage();
}


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

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

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

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