Стоит задача сохранять на сервере в файл типовой отчет с пользовательским вариантом настроек. Пользовательский вариант настроек полностью отличается от типового.
Код получения отчета и сохранения такой:

Отчет = Отчеты["ВедомостьПоТоварамНаСкладах"].Создать(); // Тип - ОтчетОбъект.ВедомостьПоТоварамНаСкладах
ТабличныйДокумент = Новый ТабличныйДокумент;
Отчет.СкомпоноватьРезультат(ТабличныйДокумент);
ТабличныйДокумент.Записать(АдресФайла, ТипФайлаТабличногоДокумента.XLS);

Есть ли возможность применить настройки из хранилища вариантов отчётов, чтобы в эксельку формировался отчет с примененными пользовательскими настройками?
---
Еще способ, сам частенько использую.

В режиме предприятия настраиваю отчет как надо, сохраняю настройки в ХМЛ. В нужном месте конфигурации (отчет, обработка, расширение) добавляю макет типа Текстовый документ, в него загружаю текст из ХМЛ.

Затем при вызове просто читаю настройки из макета, при необходимости можно их подредактировать.

```1c
    Функция ОтчетПоНачислениям(Настройки)

    // Читаю настройки из макета
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ПолучитьМакет("НастройкиКомпоновки").ПолучитьТекст());
    НастройкиВарианта = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);

    // При необходимости переопределяю настройки
    // ...

    Отчет = Отчеты.АнализНачисленийИУдержаний.Создать();
    // Загружаю настройки из макета
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиВарианта);
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Отчет.СкомпоноватьРезультат(ТабличныйДокумент);
    ТабличныйДокумент.Записать(АдресФайла, ТипФайлаТабличногоДокумента.XLS);

    КонецФункции
```
---
В функции ПолучитьНастройкиОтчета описать процесс получения пользовательских настроек.
```1c
    Отчет = Отчеты["ВедомостьПоТоварамНаСкладах"].Создать();
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПолучитьНастройкиОтчета());
```
---
В методе ЗагрузитьНастройки() нужно указать значение типа "НастройкиКомпоновкиДанных", не могу понять как достать его из пользовательских настроек.

```1c
    Отчет = Отчеты["ВедомостьПоТоварамНаСкладах"].Создать(); // Тип - ОтчетОбъект.ВедомостьПоТоварамНаСкладах

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

    Для Каждого Элемент Из СписокВариантовОтчета Цикл
    // получаем нужную нам настройку по представлению
    Если Элемент.Представление = "Отчет по товарам" Тогда
    ВариантОтчета = Элемент;
    Идентификатор = Новый ОписаниеТипов("ИдентификаторКомпоновкиДанных");
    ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(Идентификатор.ПривестиЗначение(Элемент.Значение));
    Прервать;
    КонецЕсли;

    КонецЦикла;

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

    ТабличныйДокумент = Новый ТабличныйДокумент;
    Отчет.СкомпоноватьРезультат(ТабличныйДокумент);
    ТабличныйДокумент.Записать(АдресФайла, ТипФайлаТабличногоДокумента.XLS);
```

Попробовал так, прошелся отладчиком, вроде работать должно. Но на выходе выдает ошибку "Отчет не сформирован. Включите хотя бы одну группировку в "Элементы оформления и группировки".
{Отчет.ВедомостьПоТоварамНаСкладах.МодульОбъекта(182)}: ВызватьИсключение НСтр("ru= 'Отчет не сформ"
---
вроде работать должноНе должно, потому что настройки пустые
```1c
    ПользовательскиеНастройки = Новый НастройкиКомпоновкиДанных;
```
ПользовательскиеНастройки надо доставать из сохраненных настроек пользователя. Если конфа на БСП, то кури
```1c
    ВариантыОтчетов.ПользовательскиеНастройкиВариантаОтчета(ВариантОтчета, Пользователь, КлючНастройки)
```
---
Еще способ, сам частенько использую.

В режиме предприятия настраиваю отчет как надо, сохраняю настройки в ХМЛ. В нужном месте конфигурации (отчет, обработка, расширение) добавляю макет типа Текстовый документ, в него загружаю текст из ХМЛ.

Затем при вызове просто читаю настройки из макета, при необходимости можно их подредактировать.

```1c
    Функция ОтчетПоНачислениям(Настройки)

    // Читаю настройки из макета
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ПолучитьМакет("НастройкиКомпоновки").ПолучитьТекст());
    НастройкиВарианта = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);

    // При необходимости переопределяю настройки
    // ...

    Отчет = Отчеты.АнализНачисленийИУдержаний.Создать();
    // Загружаю настройки из макета
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиВарианта);
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Отчет.СкомпоноватьРезультат(ТабличныйДокумент);
    ТабличныйДокумент.Записать(АдресФайла, ТипФайлаТабличногоДокумента.XLS);

    КонецФункции
```
---
Спасибо!
---
Не за что)
---
Здравствуйте! Подскажите. пожалуйста, как можно донастроить настройки? я скопировала настройки пользователя в макет и там дата статичная. Как указать, чтобы отчет формировался по текущей дате?
---
В событии ПриКомпоновкеРезультата вызывать код
```1c
    КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", Дата)
```
---
Спасибо!