Только начинаю углубляться в СКД. Вопрос. Есть отчет на СКД. Набор данных - запрос. в запросе есть параметры, которые заполняются постоянными значениями (типа виды субконто, список счетов и т.п.). Можно ли программно, и в идеале не создавая формы отчета ввести значения параметров?
---
в Процедуре модуля отчета ПриКомпоновкеРезультата(

```1c
    ПараметрыСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных;
    ПараметрыСКД.УстановитьЗначениеПараметра("Дата", Объект.Дата);
    ПараметрыСКД.УстановитьЗначениеПараметра("Склад", Объект.Склад);
```
---
Можно попробовать сделать еще так:

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;

    Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);

    КонецПроцедуры
```
---
Можно на вкладке "Параметры" задать значения параметров. Тогда вручную задавать не придется.
Можно программно:

```1c
    Параметр = Настройки.ПараметрыДанных.Элементы.Найти("ИмяПараметра");
    Параметр.Значение = Значение;
    Параметр.Использование = Истина;
```
---
в Процедуре модуля отчета ПриКомпоновкеРезультата(

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

```1c
    &НаКлиенте
    Процедура Сформировать(Кнопка)

    СформироватьНаСервере(Результат);

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

    &НаСервере
    Процедура СформироватьНаСервере(ТабДок)

    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");

    //Получаем схему из макета
    СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

    //Из схемы возьмем настройки по умолчанию
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    ЭД = Настройки.ПараметрыДанных.Элементы.Найти("ИмяПараметраСКД1");
    ЭД.Значение = ЗначениеПараметра1;
    ЭД.Использование = Истина;

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

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

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

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

    //Очищаем поле табличного документа
    ТабДок.Очистить();

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

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

    КонецПроцедуры
```
---
Ildar Mamatov
У меня в план счетов счета добавлены в режиме предприятия. Значений в конфигураторе нет. Поэтому 1 вариант отпадает. 2. вариант: Вопрос в какой процедуре Это описать? Настройки - откуда взялись?
---
Можно сделать в модуле объекта в процедуре ПриКомпоновкеРезультата()

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

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;

    Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);

    КонецПроцедуры
```
---
e vt
(8) Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;

   Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);

Почему для внешнего отчета для БП3.0 это не работает?
Открываю отчет через Файл - Открыть. Захожу в параметры, там пусто. Нажимаю Сформировать - ругается, что параметр пустой....
В чем особенность работы с внешним отчетом и заданием параметров без формы?
---
Дмитрий Мишарин
Подошел ваш вариант! Все замечательно отработало. спасибо. Вопрос закрыт.
---
Дмитрий Мишарин
Ваш ответ подошел