Отчет имеет форму, находится в конфигурации, вызывается программно.
В процедуре ПриСозданииНаСервере программно заполняются ПараметрыДанных и запоминаются в реквизите формы "Настройки".
В процедуре ПриОткрытии, применяются вот её код:

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    СкомпоноватьРезультат();
    КонецПроцедуры
```

При открытии формы программно заполненные параметры заполнены верно но почему-то не применяются, отчет формируется по параметрам запомненным при последнем формировании отчета. Нажимаю кнопку "Сформировать" - все тоже самое. Но как только интерактивно отредактируешь какое-либо поле в параметрах, то отчет становится бледным и появляется сообщение "Отчет не сформирован. Нажмите сформировать для получения отчета". И вот после этого параметры начинают применяться и отчет формируется в соответствии с параметрами.
Как побороть?
---
Заработало. Отчет стал формироваться правильно после того как строки

```1c
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    СкомпоноватьРезультат();
```

перенес из процедуры ПриОткрытии в ПриСозданииНасервере. Однако при этом пользовательские настройки не заполнялись.
Стали заполняться после того, как в процедуру ПриОткрытии добавил строку

```1c
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
```

И последнее действо - избавиться от надписи "Отчте не сформирован. Нажмите Сформировать....", так как отчет на самом деле формировался

```1c
    Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
    Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
```
---
smilohov, приведите пример заполнения параметров отчета
Там где заполняются параметры - должны быть строки типа

```1c
    Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ПутьКДанным); //Путь к данным = имя вашего параметра
    Параметр.Значение = Значение; // Значение = Значение вашего параметра
    Параметр.Использование = Истина; // эта строка отвечает за то что параметры будут применяться !!
```

в комментариях к коду указал какая строка отвечает за применение установленных параметров
---
Agapov_Stas, "приведите пример заполнения параметров отчета"

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

    Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
    ПараметрыНастроек = Настройки.ПараметрыДанных.Элементы;

    ПараметрыДанныхДляРасшифровки = ПолучитьИзВременногоХранилища(Параметры.АдресПараметровДанныхДляРасшифровки);
    ЭлРасщифровки = ПараметрыДанныхДляРасшифровки.ПараметрыДанных.Элементы;

    Для Инд = 0 по ЭлРасщифровки.Количество()-1 цикл
    ЗаполнитьЗначенияСвойств(ПараметрыНастроек[Инд], ЭлРасщифровки[Инд]);
    КонецЦикла;

    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаЖилойКомплекс"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаЖилойКомплекс;
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКорпус"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКорпус;
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКомнат"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКомнат;
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКолонка"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКолонка;

    КонецПроцедуры
```
---
smilohov, Ну вот нет таких использовать

```1c
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаЖилойКомплекс"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаЖилойКомплекс;
    ЗначениеПараметра.Использование = Истина; //ВОТ
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКорпус"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКорпус;
    ЗначениеПараметра.Использование = Истина; //ВоТ
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКомнат"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКомнат;
    ЗначениеПараметра.Использование = Истина; //ВОТ
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКолонка"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКолонка;
    ЗначениеПараметра.Использование = Истина; //ВОТ
```
---
Agapov_Stas, (6) hexus, не помогло. Флаг Использовать уже стоит в ИСТИНА на всех Параметрах. Это задается сразу в настройках макета.
Тут должна быть какая-то команда (аналог ручного изменения параметра), которая заставит перечитать параметры перед компоновкой.
---
smilohov, может где то дальше (после того как ты их установил) ты их затираешь ? (При компановке результата, например) Посмотри в модуле отчета по отладчику
---
Agapov_Stas, Посмотрел. При компоновке результата не было процедуры, но я ее создал:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
 // Вставить содержимое обработчика.
КонецПроцедуры

И посмотрел в отладчике на следующий объект: компоновщикНастроек.Настройки.ПараметрыДанных.Элементы. Все заполнено правильно, так как я их заполнял:
Прикрепил файл, но не знаю, как его показать в сообщении...
---
smilohov, вам нужно заполнять параметры пользовательских настроек.
---
ИЛи где то так (код писался без 1с)

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    Для каждого ТекПараметр Из Настройки.ПараметрыДанных Цикл
    ТекПараметр.Использование = Истина;
    Конеццикла;
    СкомпоноватьРезультат();
    КонецПроцедуры
```
---
там где Использование стоит ЛОЖЬ так и должно быть ?
там где ЛОЖЬ - значит участвовать в отборе не будет
---
Agapov_Stas, Да, так и должно быть. Там где ЛОЖЬ - даты рассчитываются по формуле как начало и окончание от стандартного периода.
---
Заработало. Отчет стал формироваться правильно после того как строки

```1c
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    СкомпоноватьРезультат();
```

перенес из процедуры ПриОткрытии в ПриСозданииНасервере. Однако при этом пользовательские настройки не заполнялись.
Стали заполняться после того, как в процедуру ПриОткрытии добавил строку

```1c
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
```

И последнее действо - избавиться от надписи "Отчте не сформирован. Нажмите Сформировать....", так как отчет на самом деле формировался

```1c
    Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
    Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
```
---
Полный работающий код:

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

    Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
    ПараметрыНастроек = Настройки.ПараметрыДанных.Элементы;

    ПараметрыДанныхДляРасшифровки = ПолучитьИзВременногоХранилища(Параметры.АдресПараметровДанныхДляРасшифровки);
    ЭлРасщифровки = ПараметрыДанныхДляРасшифровки.ПараметрыДанных.Элементы;

    Для Инд = 0 по ЭлРасщифровки.Количество()-1 цикл
    ЗаполнитьЗначенияСвойств(ПараметрыНастроек[Инд], ЭлРасщифровки[Инд]);
    КонецЦикла;

    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаЖилойКомплекс"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаЖилойКомплекс;
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКорпус"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКорпус;
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКомнат"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКомнат;
    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РасшифровкаКолонка"));
    ЗначениеПараметра.Значение = Параметры.РасшифровкаКолонка;

    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    СкомпоноватьРезультат();

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

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

Спасибо за помощь!