Всем привет!

По причине моей неопытности возникают вопросы, которые, наверняка, решаются очень просто, но я не представляю как.

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

все что я осилил на текущий момент:

```1c
    Схема = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

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

    КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));

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

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, КомпоновщикНастроекНастройки.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанных"));
```
---
```1c
    Отчет = Отчеты.МойОтчет.Создать();
    Отчет.КомпоновщикНастроек.УстановитьЧто-то-тамПараметры("Параметр", Значение);
    // ...
    Таблица = Отчет.Сформировать();
    Таблица.Записать("моййоксель.xlsx", что-то-тамТипДанныхТабличногоДокумента.XLSX);
```

Как-то так. Если заюзать синтаксис-помощник, то за минуты три делается.

ЗЫ: Нахрена народ для простых вещей все эти "парагенераторы" процессоров компоновки, вывода и прочую шелуху юзают? Статью что-ли написать, как отчет сформировать программно без всего этого г-на...
---
метода объекта Сформировать нет)))
поэтому немного переписал все это вот в такое:

```1c
    Отчет = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.Создать();
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));

    НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Организация")).Поле;
    НовыйЭлементОтбора.ПравоеЗначение = "Андромеда Сервис";
    НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Партнер")).Поле;
    НовыйЭлементОтбора.ПравоеЗначение = "Электро";
    Таб1 = Новый ТабличныйДокумент;
    Отчет.СкомпоноватьРезультат(Таб1);
    Таб1.Записать("C:\Users\Morogov\Desktop\Обработки и отчеты\ERP\Отчет3.xls",ТипФайлаТабличногоДокумента.XLS);
```

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

Огромное спасибо!
все работает!
---
все что я осилил на текущий момент:
Так а какой вопрос?
---
Есть внешний отчет на СКД. Мне нужно, каким-то образом его сформировать с заполнением параметров и отборов, а результат выгрузить в excel...
---
Вам обязательно, чтоб результат был автоматом в виде файла?
Или может достаточно стандартной функции платформы Файл-Сохранить как?
---
нужно именно автоматом, т.к. после сохранения в эксель, полученный файлик еще будет отправляться в телеграмм в чат.
---
ТабличныйДокумент.Записать(). параметры в синтаксис помощнике посмотрите.
Если платформа из последних, нужен асинхронный вызов НачатьЗапись. пример использования там же.
---
Тут проблема начинается на этапе получения данных для записи в табличный документ....
В моем коде нужно ведь что-то дописать, прежде чем я получу данные для записи в файл?
---
ТабличныйДокумент это поле которое есть в любом отчете. Оно по моему Результат называется. смотреть надо. Так что проблему Вы придумали.
---
РАЗОБРАЛСЯ!
Ваши сообщения натолкнули меня на решение:

```1c
    Схема = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

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

    КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));

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

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

    ДанныеТЗ = Новый ТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДанныеТЗ);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    ДанныеТЗ.Записать("C:\Users\Morogov\Desktop\Обработки и отчеты\ERP\Отчет.xls",ТипФайлаТабличногоДокумента.XLS);
```
---
единственное, сейчас заметил, что по какой-то причине отчет сохранился пустой, т.к. есть все шапки, но содержимого нет....
Где-то я ошибся....
---
```1c
    Отчет = Отчеты.МойОтчет.Создать();
    Отчет.КомпоновщикНастроек.УстановитьЧто-то-тамПараметры("Параметр", Значение);
    // ...
    Таблица = Отчет.Сформировать();
    Таблица.Записать("моййоксель.xlsx", что-то-тамТипДанныхТабличногоДокумента.XLSX);
```

Как-то так. Если заюзать синтаксис-помощник, то за минуты три делается.

ЗЫ: Нахрена народ для простых вещей все эти "парагенераторы" процессоров компоновки, вывода и прочую шелуху юзают? Статью что-ли написать, как отчет сформировать программно без всего этого г-на...
---
Потому что так в примерах везде написано.

(9)
По факту все это надо если нужно таблицу значений или дерево из отчета получить, а не табличный документ.
---
тогда было бы не плохо понять в чем же я не прав....
---
в чем же я не прав....Не парься -в интернете каждый в чем-то неправ )))
---
так мне бы разобраться как все же сделать так что бы мой код отрабатывал полностью, что бы выгружалось все а не только форма отчета....
---
отрефлексируй месседж из (11)
---
метода объекта Сформировать нет)))
поэтому немного переписал все это вот в такое:

```1c
    Отчет = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.Создать();
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));

    НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Организация")).Поле;
    НовыйЭлементОтбора.ПравоеЗначение = "Андромеда Сервис";
    НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Партнер")).Поле;
    НовыйЭлементОтбора.ПравоеЗначение = "Электро";
    Таб1 = Новый ТабличныйДокумент;
    Отчет.СкомпоноватьРезультат(Таб1);
    Таб1.Записать("C:\Users\Morogov\Desktop\Обработки и отчеты\ERP\Отчет3.xls",ТипФайлаТабличногоДокумента.XLS);
```

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

Огромное спасибо!
все работает!
---
для совсем ленивых:

```1c
    Отчет = отчеты._МойСуперПуперОтчет.Создать();

    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Параметр1", Значение1);

    Макет = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы.Найти("МакетОформления");
    Макет.Использование = Истина;
    Макет.Значение = "Арктика";

    Отчет.СкомпоноватьРезультат( Результат );
    Результат.Записать("Файло.xlsx", ТипФайлаТабличногоДокумента.XLSX);
```
(17) Ну вот, можешь ведь! )))