|
отключить отбор в динамическом списке по одному параметру
| ☑ |
0
Kurbash
24.06.15
✎
08:58
|
Всем привет. На произвольной форму (УФ) есть динамический список.
При создании формы на сервере задаю отбор:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.Отбор.Элементы.Очистить();
ЭлементОтбораПодразделения = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораПодразделения.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.Подразделение");
ЭлементОтбораПодразделения.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораПодразделения.Использование = Истина;
ЭлементОтбораПодразделения.ПравоеЗначение = Параметры.Подразделение;
ЭлементОтбораУчастка = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораУчастка.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.Участок");
ЭлементОтбораУчастка.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораУчастка.Использование = Истина;
ЭлементОтбораУчастка.ПравоеЗначение = Параметры.Участок;
КонецПроцедуры
теперь тумкаю как удалить один из вариантов отбора по кнопке
СписокНарядов.Отбор.Элементы.Удалить("Ссылка.Участок");
не канает
где ошибся?
|
|
1
fisher
24.06.15
✎
09:04
|
Чего бы это оно канало? Где ты в СП увидел, что в Удалить() можно строку передавать?
|
|
2
Kurbash
24.06.15
✎
09:07
|
да, там нужен элемент отбора компоновки данных, но как на него выйти я не догадываюсь, пробовал СПисок.Элементы.Получить() но там нужен индекс
|
|
3
fisher
24.06.15
✎
09:08
|
А нету в этой коллекции готовых методов для поиска нужного элемента. Нужно перебирать все и определять нужный элемент отбора по искомому левому значению. Бананов нема, к сожалению...
|
|
4
Kurbash
24.06.15
✎
09:10
|
тупо перебором?
Для Каждого стр из Список.Отбор.Элементы Цикл
Если стр.тратата
КонецЕсли;
КонецЦикла;
так? не через ..опу получится?
|
|
5
fisher
24.06.15
✎
09:10
|
Оно и понятно, в принципе, потому как неясны критерии поиска нужного элемента отбора в общем случае. Может же быть несколько элементов с одинаковым левым значением.
|
|
6
fisher
24.06.15
✎
09:11
|
(4) Других вариантов я не вижу.
|
|
7
fisher
24.06.15
✎
09:12
|
Можно еще запоминать ссылку на нужный элемент отбора при его создании, если бизнес-логика это допускает.
|
|
8
Kurbash
24.06.15
✎
09:20
|
Для Каждого стр из Список.Отбор.Элементы Цикл
Если стр.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Ссылка.Участок") Тогда
стр.Использование=Ложь;
КонецЕсли;
КонецЦикла;
|
|
9
Kurbash
24.06.15
✎
09:20
|
взлетело
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший