Всем привет.
Суть: БП 3.0, типовая. Необходимо программно строить отчет "Остатки денежных средств".
Программную компоновку сделал во внешней обработке.

```1c
    &НаСервере
    Функция СоздатьОтчет()

    Таб = Новый ТабличныйДокумент;
    Попытка

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

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
    МакетКомпоновки.ЗначенияПараметров.ВедетсяУчетПоВалютам.Значение = Истина;

    МассивКомпоновки = Настройки.ДоступныеПоляГруппировок.Элементы;

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

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

    &НаКлиенте
    Процедура Команда1(Команда)
    Таб = СоздатьОтчет();
    Таб.Записать("C:\test.xlsx", ТипФайлаТабличногоДокумента.XLSX);
    //ВыгрузитьВФайл(Таб);
    КонецПроцедуры
```

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

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

```1c
    // код точно не рабочий, нужно понимать что в запросе
    СхемаКомпоновкиДанных.Запрос = СтрЗаменить(СхемаКомпоновкиДанных.Запрос, "Группировать ", "Группировать ПО РАЗМЕЩЕНИЮ");
```
, и добавить/заменить строки группировки
---
Разобрался. Взял из типового отчета схему компоновки данных, отредактировал, через
```1c
    ПолучитьМакет("Макет")
```
 подхватил его и вывел в эксель как надо.