Есть программная реализация ВосстановленияНастроек:

```1c
    Процедура ДействияФормыВосстановитьНастройки(Кнопка)

    СтруктураНастройки = Новый Структура;
    СтруктураНастройки.Вставить("Пользователь", глЗначениеПеременной("глТекущийПользователь"));
    СтруктураНастройки.Вставить("ИмяОбъекта", Строка(ЭтотОбъект));
    СтруктураНастройки.Вставить("НаименованиеНастройки", ?(мТекущаяНастройка = Неопределено, Неопределено, мТекущаяНастройка.НаименованиеНастройки));

    ВозвращаемаяСтруктура = УниверсальныеМеханизмы.ВосстановлениеНастроек(СтруктураНастройки);

    Если ВозвращаемаяСтруктура <> Неопределено Тогда

    мТекущаяНастройка = ВозвращаемаяСтруктура;
    //КомпоновщикНастроек.ЗагрузитьНастройки(мТекущаяНастройка.СохраненнаяНастройка.Получить());
    Попытка
    СохраненнаяНастройка = ВозвращаемаяСтруктура.СохраненнаяНастройка;
    Если ТипЗнч(СохраненнаяНастройка) = Тип("Структура") Тогда
    Если СохраненнаяНастройка.Свойство("НастройкаПериода") Тогда
    мНастройкаПериода = СохраненнаяНастройка.НастройкаПериода;
    НачалоПериода = мНастройкаПериода.ПолучитьДатуНачала();
    КонецПериода = мНастройкаПериода.ПолучитьДатуОкончания()
    КонецЕсли;

    Если СохраненнаяНастройка.Свойство("НастройкаПостроителя") Тогда
    мНастройкаПостроителя = СохраненнаяНастройка.НастройкаПостроителя;

    Если ТипЗнч(мНастройкаПостроителя) = Тип("НастройкиПостроителяОтчета") Тогда
    ПостроительОтчета.УстановитьНастройки(мНастройкаПостроителя, Истина, Ложь, Ложь, Ложь, Ложь);

    КонецЕсли;

    КонецЕсли;

    Если СохраненнаяНастройка.Свойство("ТаблицаДанных") Тогда
    ТаблицаДанных = СохраненнаяНастройка.ТаблицаДанных.Скопировать();
    КонецЕсли;

    КонецЕсли;
    Исключение
    КонецПопытки;

    КонецЕсли;

    КонецПроцедуры
```

Если в форме выбрать необходимую настройку, то всё восстанавливает безупречно. Форма обычная.
Но! Там стоит галочка "При открытии" восстанавливать настройки. То есть при открытии обработки настройки не подтягиваются. Почему ?
---
Тоггда все тоже самое но перед закрытием и перед открытием

```1c
    Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    ХранилищеНастроекДанныхФорм.Сохранить("ПоискРазрывовСЗВ_Стаж", "ГодВыб", ЭтотОбъект.ГодВыб);

    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    ЭтотОбъект.ГодВыб=ХранилищеНастроекДанныхФорм.Загрузить("ПоискРазрывовСЗВ_Стаж", "ГодВыб");
```
---
Эту выполняйте при закрытии формы ...

```1c
    &НаСервере
    Процедура СохранениеНастроек()
    ХранилищеНастроекДанныхФорм.Сохранить("ОбработкаВыгрузкаАлиментовСбербанк", "Организация", Объект.Организация);
    ХранилищеНастроекДанныхФорм.Сохранить("ОбработкаВыгрузкаАлиментовСбербанк", "Зарплатныйпроект", Объект.ЗарплатныйПроект);

    КонецПроцедуры
```

А при создании на сервере

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

```1c
    Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    ХранилищеНастроекДанныхФорм.Сохранить("ПоискРазрывовСЗВ_Стаж", "ГодВыб", ЭтотОбъект.ГодВыб);

    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    ЭтотОбъект.ГодВыб=ХранилищеНастроекДанныхФорм.Загрузить("ПоискРазрывовСЗВ_Стаж", "ГодВыб");
```
---
А если надо сохранять значения объекта ПостроительОтчета.Отбор . Он у меня на форме и в нём задаются разные настройки. В этом вся суть
Достаточно этого?

```1c
    ХранилищеНастроекДанныхФорм.Загрузить("ОбработкаУтверждениеЗаказов", "ПостроительОтчетаОтбор", ЭтотОбъект.ПостроительОтчета.Отбор);
```

Попытался сделать на объекты формы ДатуНачала и ДатуКонца. Всё равно не сохраняет при новом открытии обработки.

Прошёлся отладчиком призакрытии. По идее Сохранять делает. Но когда открываю форму в объектах пусто, при загрузке.
---
У вас настройки должны быть Реквизитами не формы а Объекта, то есть обработки
---
Так и есть. В общем ДатуНачала и ДатуКонца сохраняет
Но вот объект ПостроительОтчета типа ПостроительОтчета ругается мол поля объекта не обнаружены.
---
А как вы их ему передаете?
---
```1c
    Процедура мУстановитьОтборыПоУмолчанию()

    СтруктураОтборов = Новый Структура("Контрагент, АдресДоставки, Ответственный, Утвержден");
    ПоляОтбора = ПостроительОтчета.Отбор.ПолучитьДоступныеПоля();
    ПоляОтбора.АдресДоставки.Представление = "Адрес доставки";
    Для Каждого КлючЗначение Из СтруктураОтборов Цикл
    ПолеОтбора = ПоляОтбора.Найти(КлючЗначение.Ключ);

    Если ПолеОтбора <> Неопределено И ПолеОтбора.Отбор Тогда
    ЭлОтбора = ПостроительОтчета.Отбор.Найти(КлючЗначение.Ключ);
    КонецЕсли;

    Если ЭлОтбора = Неопределено Тогда
    мУстановитьОтборПостроителя(ПостроительОтчета, КлючЗначение.Ключ, ПолеОтбора.Представление, Неопределено, , Ложь);
    КонецЕсли;

    КонецЦикла;

    ЭлОтбора = ПостроительОтчета.Отбор.Найти("Утвержден");
    //Если ЭлОтбора = Неопределено Тогда
    мУстановитьОтборПостроителя(ПостроительОтчета, "Утвержден", "Утвержден", Ложь);
    //КонецЕсли;

    КонецПроцедуры
```

поле объекта не обнаружено АдресДоставки в этом месте ругается.
---
Именно для отчета немного по другому делаю...
---
Вообще это же типовой механизм. Ну в форме восстановления настроек галочка "При открытии" ? Которая потом записывает в регист сведении "Сохранение настроек". Разве оно там само не должно как то отрабатывать?
---
то есть в Обработке создайте реквизиты ДатуНачала и ДатуКонца и вот их точно получится восстанавливать
Реквизиты формы не пробовал никогда, потому как минимум, что не использую обычно реквизитов у форм ни у обычных ни в управляемых
Реквизиты удобно делать у самой обработки...
---
```1c
    Процедура ПриОткрытии()

    // Реквизит формы и компоновщик отчета ссылаются на один компоновщик
    //КомпоновщикНастроек = ЭтотОбъект.КомпоновщикНастроек;

    ТиповыеОтчеты.ОбновитьТаблицуДоступныхНастроекПользователю(ЭтотОбъект);
    ТиповыеОтчеты.УстановитьВариантПоУмолчанию(ЭтотОбъект, ЭтаФорма);

    // Нарисуем кнопки выбора настроек на верхней панели
    ТиповыеОтчеты.ОбновитьКнопкиВыбораНастроек(ЭтаФорма, ЭтотОбъект, ПредставлениеНастройки, РежимРедактированияНастройки);
    ТиповыеОтчеты.ОбновитьФормуТиповогоОтчетаПоКомпоновщику(ЭтотОбъект, ЭтаФорма);
    ТиповыеОтчеты.УстановитьВидимостьПанелиВариантовПоУмолчанию(ЭтотОбъект, ЭтаФорма);
    ТиповыеОтчеты.УстановитьВидимостьПанелиПользователяПоУмолчанию(ЭтотОбъект, ЭтаФорма);
    ТиповыеОтчеты.ВосстановитьНастройкиФормыОтчета(ЭтотОбъект, ЭтаФорма);
    ТиповыеОтчеты.УправлениеОтображениемПанелиВариантов(ЭтаФорма);
    ТиповыеОтчеты.УправлениеОтображениемПанелиПользователя(ЭтаФорма);
    ЭтаФорма.ЭлементыФормы.Результат.Защита = УправлениеДопПравамиПользователей.ЗащитаТаблиц();

    КонецПроцедуры

    Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)

    Если РежимРедактированияНастройки Тогда
    СтандартнаяОбработка = Ложь;
    Возврат;
    КонецЕсли;

    ТиповыеОтчеты.ОбработкаЗакрытияНастройкиОтчета(ЭтотОбъект, ЭтаФорма, Отказ, СтандартнаяОбработка);
    Если Не ЭтоОтработкаРасшифровки И Не РежимРедактированияНастройки Тогда
    ТиповыеОтчеты.СохранитьПоследнююИспользуемуюНастройку(ЭтотОбъект);
    КонецЕсли;

    КонецПроцедуры
```
---
Это что вообще? в итоге построитель отчета не сохранить никак получается?
---
Это у меня есть отчет в ЗУП2.5 вот таким образом с охраняются введенные настройки и потом успешно восстанавливаются при повторном запуске ...
Процедуры в форме отчета....
---
А как быть с построителем отчета... проблема не решилась.
---
Что за проблема с постоителем?
Способ из (16) запоминает все настройки и отборы, которые были применены и при следующем запуске все открывается в с теми же отборами.
Что вам еще то нужно?
---
Я написал в (15) в чем проблема.
---
смотрите в отладке, иначе не поймешь - что там не так...
---
Процедура выполняется ПриОткрытии. Которая мУстановитьОтборыПоУмолчанию().
Ругается на АдресДоставки,так как если делать ваше условие то в ПоляОтбора ничего не попадает.. Тобишь АдресДоставки.
---
Вы пытаетесь скрестить ежа с ужом?
Что вы вообще делаете?
Я предложил вам вариант сохранения и восстановления , вы пытаетесь в него внедрить свою мУстановитьОтборыПоУмолчанию ?
---
В том то и дело, что это не моя настройка мУстановитьОтборыПоУмолчанию.Но она нужна.

Если я поставлю условие Если пусто и не выполнять, то она сброситься... А хотелось чтобы эта настройка была и значения которые в этих отборах сохранялись. Это реально же ?)

Кроме того он не в одном месте ругнется ещё. Так как ПостроительОтчета пустой..
---
Ну если ничего не попадает - то и не выполняйте , ЕСЛИ поставьте......
---
скрестить ежа с ужом не всегда целесообразно...
Вы хотите не настройки сохранять, а задавать начальные программно - это немного все же другая задача изначально.
Вернитесь вчистую к своему варианту и отладкой ищите что у вас там не стыкуется...
Еще раз говорю - без отладки вы ничего не сможете.
Ищите где и что заполняется не так как вы задумали