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

```1c
    Элементы.Список.Обновить();
```
---
Вот сделал для пробы простейший внешний отчет с запросом по валютам. В нем соорудил кнопку, которая должна имитировать сброс настроек.

```1c
    КлючОбъекта=ЭтаФорма.ИмяФормы+".Список/ТекущиеПользовательскиеНастройки";
    ХранилищеСистемныхНастроек.Удалить(КлючОбъекта,Неопределено,ИмяПользователя());
```

Устанавливаю/снимаю любой отбор. При повторном открытии обработки мои отборы сохраняются. Нажимаю кнопку - ничего не изменяется, пока... заново не открою отчет. То есть настройки удаляются, но не на форме, а в хранилище.
С раскомменированными пользовательскими настройками даже этого не происходит почему-то.
В моем отчете вообще никакой реакции в обоих случаях, пока не нажмешь "установить стандартные"
---
До меня наконец дошло, что я делаю не так, и почему отборы срабатывали только при нажатии на "Установить стандартные настройки". Дело в том, что вместо ПользовательскиеНастройки я использовал просто Настройки. А это и есть настройки по-умолчанию. Сейчас самому смешно.
Спасибо всем, кто помог!