Как найти и удалить определенный отбор в динамическом списке

1. Гость 15.03.21 14:31
Есть два отбора в динамическом списке. Один постоянный, другой должен выключаться и включать в определенных условиях. Как найти нужный отбор и как его очистить, не трогая второй?

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


Его надо отключать и включать когда это нужно.
По теме из базы знаний
Найденные решения
15. Gendelf 13.07.21 21:05 Сейчас в теме
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(....)
wild83; SagittariusA; Pependos; +3 Ответить
13. Оберон 16 15.03.21 15:07 Сейчас в теме
или так
БухгалтерскиеОтчетыКлиентСервер.УстановитьПараметр(НастройкаСКД, "Код", Код, ЛОЖЬ)
или вероятно есть и в 
ОбщегоНазначенияКлиентСервер.УстановитьПараметр(НастройкаСКД, "Код", Код, ЛОЖЬ)
Pependos; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 15.03.21 14:34 Сейчас в теме
Где-нибудь сохранять а потом делать
Отбор.Использование = Ложь;
SlavaKron; +1 Ответить
4. Гость 15.03.21 14:40
(2) Вот мне и хочется узнать, как его сохранить. Каким образом. Никогда с отборами не работал, поэтому вообще не в курсе
5. Поручик 4674 15.03.21 14:42 Сейчас в теме
(4) Или где-то сохранить индекс отбора, что ненадёжно, или пост № (3)
3. Оберон 16 15.03.21 14:39 Сейчас в теме
что то типа такого надо
         
Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
              Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) Тогда
                    КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
              КонецЕсли;
         КонецЦикла;
annak2980; user828611; Поручик; +3 Ответить
6. Оберон 16 15.03.21 14:43 Сейчас в теме
или оставляем отбор, но не используем
         ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
         ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя);
         ЭлементОтбора.ВидСравнения = ВидСравнения;
         ЭлементОтбора.ПравоеЗначение = Значение;
         ЭлементОтбора.Использование = Ложь;
7. Гость 15.03.21 14:44
(6) Если я второй раз это же самое напишгу, то получится, что я добавлю еще один отбор. Я слыал про какую-то возможность найти отбор и очистить именно его, но не могу найти литературы
8. FatPanzer 15.03.21 14:50 Сейчас в теме
(7) Выше ответ даден. Отбор - это коллекция. Коллекцию всегда можно перебрать циклом, как минимум.
9. Гость 15.03.21 14:51
(8) Буду пробовать, отпишусь тут после
10. Поручик 4674 15.03.21 14:52 Сейчас в теме
(7) Нет штатной функции получения элемента отбора, условного оформления и т.п. в СКД. Перебор наше всё
Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
              Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) И ЭлементОтбора.ВидСравнения = ВидСравнения Тогда
                    КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
              КонецЕсли;
КонецЦикла;
гвость; ivprovotorov; +2 Ответить
11. comptr 31 15.03.21 14:58 Сейчас в теме
При программной установке отбора можно заполнить Представление, по которому потом можно будет легко найти нужный элемент отбора.
Если конфигурация на БСП, то можно посмотреть в сторону модуля ОбщегоНазначенияКлиентСервер, в котором есть несколько функций по работе с отбором динамического списка, т.е. с КоллекцияЭлементовОтбораКомпоновкиДанных.
ДобавитьЭлементКомпоновки(), ИзменитьЭлементыОтбора(), УстановитьЭлементОтбора() и т.д.
12. AnryMc 849 15.03.21 15:06 Сейчас в теме
 ОбщегоНазначенияКлиентСервер. УдалитьЭлементыГруппыОтбораДинамическогоСписка ()

ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка()
SagittariusA; ВИЛенин; Pependos; Andy_NTG; Dajjal; +5 Ответить
14. Гость 15.03.21 15:51
(12) Красава, спасибо! Все работает. Я даже не догадался залезть в общие модули и поискать...
13. Оберон 16 15.03.21 15:07 Сейчас в теме
или так
БухгалтерскиеОтчетыКлиентСервер.УстановитьПараметр(НастройкаСКД, "Код", Код, ЛОЖЬ)
или вероятно есть и в 
ОбщегоНазначенияКлиентСервер.УстановитьПараметр(НастройкаСКД, "Код", Код, ЛОЖЬ)
Pependos; +1 Ответить
15. Gendelf 13.07.21 21:05 Сейчас в теме
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(....)
wild83; SagittariusA; Pependos; +3 Ответить
16. p.ugrumov 171 19.05.23 16:23 Сейчас в теме
Второй параметр - название отбора
Пятый параметр = ложь;


ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Рейс", , ВидСравненияКомпоновкиДанных.Равно,, Ложь)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот