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

Сам отбор:

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

Его надо отключать и включать когда это нужно.
---
что то типа такого надо

```1c
    Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
    Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) Тогда
    КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
    КонецЕсли;
    КонецЦикла;
```
---
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(....)
---
Где-нибудь сохранять а потом делать
```1c
    Отбор.Использование = Ложь;
```
---
Вот мне и хочется узнать, как его сохранить. Каким образом. Никогда с отборами не работал, поэтому вообще не в курсе
---
Или где-то сохранить индекс отбора, что ненадёжно, или пост № (3)
---
что то типа такого надо

```1c
    Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
    Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) Тогда
    КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
    КонецЕсли;
    КонецЦикла;
```
---
или оставляем отбор, но не используем

```1c
    ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя);
    ЭлементОтбора.ВидСравнения = ВидСравнения;
    ЭлементОтбора.ПравоеЗначение = Значение;
    ЭлементОтбора.Использование = Ложь;
```
---
Если я второй раз это же самое напишгу, то получится, что я добавлю еще один отбор. Я слыал про какую-то возможность найти отбор и очистить именно его, но не могу найти литературы
---
Выше ответ даден. Отбор - это коллекция. Коллекцию всегда можно перебрать циклом, как минимум.
---
Буду пробовать, отпишусь тут после
---
Нет штатной функции получения элемента отбора, условного оформления и т.п. в СКД. Перебор наше всё

```1c
    Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
    Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) И ЭлементОтбора.ВидСравнения = ВидСравнения Тогда
    КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
    КонецЕсли;
    КонецЦикла;
```
---
При программной установке отбора можно заполнить Представление, по которому потом можно будет легко найти нужный элемент отбора.
Если конфигурация на БСП, то можно посмотреть в сторону модуля ОбщегоНазначенияКлиентСервер, в котором есть несколько функций по работе с отбором динамического списка, т.е. с КоллекцияЭлементовОтбораКомпоновкиДанных.
ДобавитьЭлементКомпоновки(), ИзменитьЭлементыОтбора(), УстановитьЭлементОтбора() и т.д.
---
```1c
    ОбщегоНазначенияКлиентСервер. УдалитьЭлементыГруппыОтбораДинамическогоСписка ()

    ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка()
```
---
Красава, спасибо! Все работает. Я даже не догадался залезть в общие модули и поискать...
---
или так

```1c
    БухгалтерскиеОтчетыКлиентСервер.УстановитьПараметр(НастройкаСКД, "Код", Код, ЛОЖЬ)
    или вероятно есть и в
    ОбщегоНазначенияКлиентСервер.УстановитьПараметр(НастройкаСКД, "Код", Код, ЛОЖЬ)
```
---
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(....)
---
Второй параметр - название отбора
Пятый параметр = ложь;

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