Здравствуйте!Управляемые формы.Добавляю отбор на форму отчета в процедуре "При создании на серевере". Код следующий :

```1c
    РегистраторПараметр = Параметры.Регистратор;

    БухгалтерскиеОтчетыВызовСервера.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

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

В итоге отбор в настройках есть.Но нет значения отбора.Подскажите,как правильно добавить отбор на СКД?
---
Выводим наш отчет в процедуре печати, без вывода формы, в настройках сразу устанавливаем отбор по нужному нам объекту:

```1c
    СхемаКомпоновкиДанных = Отчеты.НужныйОтчет.ПолучитьМакет("НужнаяСхемаКомпоновкиДанных");

    //создадим компоновщик настроек и загрузим настройки по умолчанию, вместо настроек по умолчанию можно использовать восстановленные настройки
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    Настройки = КомпоновщикНастроек.Настройки;

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

    //Помещаем в переменную данные о расшифровке данных - здесь ненужный пункт, но пусть будет.
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    //Передаем в макет компоновки схему, настройки и данные расшифровки
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

    //Выполним компоновку с помощью процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

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

    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

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

```1c
    СхемаКомпоновкиДанных = Отчеты.НужныйОтчет.ПолучитьМакет("НужнаяСхемаКомпоновкиДанных");

    //создадим компоновщик настроек и загрузим настройки по умолчанию, вместо настроек по умолчанию можно использовать восстановленные настройки
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    Настройки = КомпоновщикНастроек.Настройки;

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

    //Помещаем в переменную данные о расшифровке данных - здесь ненужный пункт, но пусть будет.
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    //Передаем в макет компоновки схему, настройки и данные расшифровки
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

    //Выполним компоновку с помощью процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

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

    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

    Результат.ОтображатьЗаголовки = Ложь;
    Результат.ОтображатьСетку = Ложь;
    Результат.Показать();
```
---
Получилось вашим способом!Но отчет выводится в табличный документ.Подскажите, как вывести отчет в "родной" макет?Спасибо!
---
Ну как бы 'родной' макет это и есть табличный документ, просто оформляет его скд.

Попробуйте тогда такой вариант.

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

Далее изменяете настройки

```1c
    НастройкиОтчета
```

. т.е. добавляете отбор.
Затем

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

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

Конфигурация : Бухгалтерия предприятия, редакция 3.0 (3.0.49.28). Нужен отчет к документу "Поступление товаров и услуг"

Складывается ощущение, что после процедуры "ПриСозданииНаСервере" проходит еще какая-то, которая затирает мой отбор.
---
Если поле "Регистратор" входит в Пользовательские настройки, то тогда отбор, который Вы устанавливаете в Настройках,
затирается сохраненными Пользовательскими настройками.
В этом случае нужно либо работать с Фиксированными настройками (но тогда пользователь не сможет наложить свой отбор на это поле),
либо получить соответствующую пользовательскую настройку и установить ей значение.
(в процедуре, где Вы и устанавливаете)