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

UiFilterPreset

Класс для преобразования фильтра блока в формат main.ui.filter. Используется в настраиваемом фильтре для отбора данных.

Метод Описание С версии
construct Конструктор
addCheckboxValue Метод преобразует значение типа чекбокс в формат bitrix:main.ui.filter.
addCustomDateValue Метод преобразует значение типа диапазоны дат в формат bitrix:main.ui.filter.
addDateValue Преобразует значение типа дата или дата/время в формат bitrix:main.ui.filter.
addDestSelectorValue Метод преобразует значение типа привязка к сущности в формат bitrix:main.ui.filter.
addListValue Метод преобразует значение типа список/множественный список в формат bitrix:main.ui.filter.
addNumberValue Преобразует значение типа число в формат bitrix:main.ui.filter.
addStringValue Преобразует значение типа строка в формат bitrix:main.ui.filter.
create Преобразует фильтр блока в формат bitrix:main.ui.filter.
initFieldTypeHandlers Служебный метод заполняет список поддерживаемых типов полей.

Пример

Инициализация компонента bitrix:main.ui.filter значениями из фильтра блока при открытии формы настройки (настраиваемый фильтр для отбора данных). Обратите внимание, что в этом примере для полей нет ключа operators, т.к. он не требуется (хотя его наличие не запрещается).

$gridFilterConfig = new UI\Filter\Options('ИД_фильтра');
	$preset = [];
	$request = \Bitrix\Main\Context::getCurrent()->getRequest();
	$data = $request->getPost('filter'); // в этом ключе отдается фильтр блока в форму
	if (!empty($data) && is_array($data))
	{
		$fields = []; // поля фильтра - см формат
		$fields['NAME'] = [
			'id' => 'NAME',
			'type' => 'string',
		];
		$fields['ID'] = [
			'id' => 'ID',
			'type' => 'number',
		];
		$fields['ENTITY_LIST'] = [
			'id' => 'ENTITY_LIST',
			'type' => 'list',
			'params' => [
				'multiple' => 'Y'
			]
		];
		$fields['ACTIVE'] = [
			'id' => 'ACTIVE',
			'type' => 'checkbox',
			'operators' => [
				'default' => ''
			]
		];
		$sourceFilter = new \Bitrix\Landing\Source\UiFilterPreset();
		$sourceFilter->setFields($fields);
		$preset = $sourceFilter->create($data);
	}
	$gridFilterConfig->setFilterSettings(
		\Bitrix\Main\UI\Filter\Options::TMP_FILTER,
			[
				'name' => '',
				'fields' => $preset
			],
			true,
			false
		);
		$gridFilterConfig->save();


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