Имя: Пароль:
1C
1С v8
Почему повторно не применяется фильтр Отбор на динамическом списке?
0 xintrea
 
30.10.12
13:43
Вопрос в следующем.

Есть у меня динамический список СписокСвойстваОборудования. Для его фильтрации сделал две процедуры:


----- 8< -----

&НаКлиенте
Процедура УстановитьФильтрНаСвойстваОборудования()

// Объект, реализующий фильтр отбора для свойств оборудования
Отбор=ЭтаФорма.СписокСвойстваОборудования.Отбор;
Отбор.Элементы.Очистить();

ЭлементОтбора = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЕдиницаОборудования");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = Объект.Ссылка; // Сама текущая единица оборудования

КонецПроцедуры


&НаКлиенте
Процедура ОчиститьФильтрНаСвойстваОборудования()

// Объект, реализующий фильтр отбора для свойств оборудования
Отбор=ЭтаФорма.СписокСвойстваОборудования.Отбор;
Отбор.Элементы.Очистить();

КонецПроцедуры

----- 8< -----


Проблема в том, что применить фильр в модуле формы можно только один раз!

Например, при открытии вызываю УстановитьФильтрНаСвойстваОборудования(). Процедура нормально отрабатывает, данные фильтруются. А если затем вызвать ОчиститьФильтрНаСвойстваОборудования(), то процедура срабатыват, да только данные в динамическом списке остаются всё так же отфильтрованными. То есть, "фильтрующие правила" не очищаются.

Почему так происходит?

Что надо сделать, чтобы применение какого-нибудь фильтра Отбор (после уже один раз установленного фильтра Отбор) давало эффект?