Здравствуйте.
Есть документ. У него есть реквизит табличный документ. Заполняется этот реквизит с помощью компоновки макета СКД. Возникла проблема в непонимании как передать параметры в этот макет или компоновщик

```1c
    Об = РеквизитФормыВЗначение("Объект");
    Схема = Об.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = Схема.НастройкиПоУмолчанию;
    ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных("ДатаНачала");
    ПараметрСКД = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновки);
```

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

```1c
    Функция Отчет()

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

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

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

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

    ПроцессорВывода.УстановитьОбъект(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

    КвалификаторДаты = Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя);
    КвалификаторЧисла = Новый КвалификаторыЧисла(15,2,ДопустимыйЗнак.Неотрицательный);

    ТабИтог = новый ТаблицаЗначений;
    ТабИтог.Колонки.Добавить("Объект", Новый ОписаниеТипов("СправочникСсылка.Склады"));
    ТабИтог.Колонки.Добавить("ГруппаРаспределения", Новый ОписаниеТипов("СправочникСсылка.ГруппыРаспределения"));
    ТабИтог.Колонки.Добавить("ЗП", Новый ОписаниеТипов("Число",,,КвалификаторЧисла));
    ТабИтог.Колонки.Добавить("ПериодНачисления", Новый ОписаниеТипов("Дата",,,КвалификаторДаты));

    ТабИтог = Результат;
    Отбор = Новый Структура("ПериодНачисления");
    МассивПустыхСтрок = ТабИтог.НайтиСтроки(Отбор);
    Для Каждого СтрокаМассива из МассивПустыхСтрок Цикл
    ТабИтог.Удалить(СтрокаМассива);
    КонецЦикла;

    Возврат ТабИтог;
    КонецФункции
```

Весь код тебе не нужен, что-нибудь может пригодиться.
---
Я вот так программно формировал таблицу на СКД:

```1c
    Функция Отчет()

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

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

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

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

    ПроцессорВывода.УстановитьОбъект(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

    КвалификаторДаты = Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя);
    КвалификаторЧисла = Новый КвалификаторыЧисла(15,2,ДопустимыйЗнак.Неотрицательный);

    ТабИтог = новый ТаблицаЗначений;
    ТабИтог.Колонки.Добавить("Объект", Новый ОписаниеТипов("СправочникСсылка.Склады"));
    ТабИтог.Колонки.Добавить("ГруппаРаспределения", Новый ОписаниеТипов("СправочникСсылка.ГруппыРаспределения"));
    ТабИтог.Колонки.Добавить("ЗП", Новый ОписаниеТипов("Число",,,КвалификаторЧисла));
    ТабИтог.Колонки.Добавить("ПериодНачисления", Новый ОписаниеТипов("Дата",,,КвалификаторДаты));

    ТабИтог = Результат;
    Отбор = Новый Структура("ПериодНачисления");
    МассивПустыхСтрок = ТабИтог.НайтиСтроки(Отбор);
    Для Каждого СтрокаМассива из МассивПустыхСтрок Цикл
    ТабИтог.Удалить(СтрокаМассива);
    КонецЦикла;

    Возврат ТабИтог;
    КонецФункции
```

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

Спасибо. То что нужно. Нужна была только эта часть кода:

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

И спасибо за все остальное, пригодится.
---
Ключевое в этом вопросе - использовать объект КомпоновщикНастроек и использовать этот объект при компоновке СКД.