Иллюстрированный самоучитель по языку системы 1С:Предприятие

Методы контекста Модуля формы списка справочника

ИспользоватьСписокЭлементов

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

Синтаксис:

ИспользоватьСписокЭлементов (<СписокЗначений>)

Англоязычный синоним:

UseItemList

Параметры:

<СписокЗначений> Необязательный параметр. Значение типа "СписокЗначений". Должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.

Описание:

Метод ИспользоватьСписокЭлементов реализует фильтрацию элементов справочника. Устанавливает нединамический фильтр.

Рекомендуется применять в предопределенных процедурах ПриСменеРодителя, ПриОткрытии, ПриСменеИерархии. При этом формируется список "разрешенных" элементов, который передается форме списка справочника при помощи данного метода. Данный список должен являться подмножеством тех элементов, которые обычно отображаются в форме списка без применения фильтра.

После вызова метода ИспользоватьСписокЭлементов форма списка справочника не позволяет вводить новый элемент, копировать и т. п.

Данный метод доступен в контексте Модуля формы списка справочника (см. "Виды программных модулей"). Действие данного метода относится ко всему текущему списку справочника, который доступен в локальном контексте Модуля формы списка справочника.

Пример:

Процедура УстановитьФильтр(ВыбПризнак)

Список.СоздатьОбъект("СписокЗначений");

Буфер = СоздатьОбъект("Справочник.Главн");

// отбираем только те элементы, которые могут отображаться в текущем списке

Буфер.ИспользоватьРодителя(ИспользоватьРодителя());

Буфер.ВключатьПодчиненные(0);

Буфер.ВыбратьЭлементы();

Пока Буфер.ПолучитьЭлемент() = 1 Цикл

// отбираем только те элементы, которые удовлетворяют заданному признаку

Если (Буфер.Признак = ВыбПризнак) Тогда

Список.ДобавитьЗначение(Буфер.ТекущийЭлемент());

КонецЕсли;

КонецЦикла;

ИспользоватьСписокЭлементов(Список);

КонецПроцедуры
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.