0
Vexcel
10.09.13
✎
00:03
|
Создал отбор в списке на управляемой форме, отбор включается по кнопке. Если кнопка нажата, то отбор включён, если не нажата то отключён.
Собственно отбор такой
Отбор = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
...
ЭлементОтбора.Использование = Истина;
Ловлю положение кнопки и ставлю Использование = Истина или Ложь соответсвенно.
Но отбор то не отключается))) Если посмотреть в отладчике то в Список.Отбор.Элементы каждый раз добавляется новая сточка с отбором. Соответвественно у предыдущей строчки будет Истина, у нижней Ложь и отбор всёравно работает.
Наверно надо как то подвязываться к именно этому отбору?
Можем очистить все отборы Список.Отбор.Элементы.Очистить(); но там же отборы ещё другие, не можем мы их почистить...
|
|
3
Prilepsky
10.09.13
✎
04:07
|
В УТ 11 есть общий модуль ОтборыСписковКлиентСервер.
Может там глянуть пример.
Они вместо отключения удаляют отбор.
Процедура УдалитьЭлементОтбораКоллекции(КоллекцияЭлементов, ИмяПоля)
ПолеКомпоновки = Новый ПолеКомпоновкиДанных(ИмяПоля);
Для Каждого ЭлементОтбора Из КоллекцияЭлементов Цикл
Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных")
И ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновки Тогда
КоллекцияЭлементов.Удалить(ЭлементОтбора);
КонецЕсли;
КонецЦикла;
КонецПроцедуры // УдалитьЭлементОтбораСписка()
|
|