Программное сохранение отчета не СКД. 8,3 обычные формы

В общем есть отчет , не СКД,
Имеется обработка, имеющая "ПолеТабличногоДокумента" на форме
Я вызываю отчет из обработки при нажатии на кнопку

```1c
    --------------------
    Процедура КнопкаВыполнитьНажатие(Элемент)
    ФормаОтчета = Отчеты.ОтчетМой.ПолучитьФорму("ФормаОтчета");
    ФормаОтчета.Открыть

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

    ЭлементыФормы.ПолеТабличногоДокумента1.Записать("D:\zapic\otchot.xls",ТипФайлаТабличногоДокумента.XLS); //здесь будетЗапись в ексель

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

Мне необходимо при нажатии на сформировать, чтобы данные отчета записывались в файл excel

т.е сначала нужно чтобы данные отчета записались в табличную часть обработки, оттуда я их уже запишу куда угодно.....Как сделать так чтобы данные отчета записались в табличную часть обработки?
---
Здесь требуется уточнение, а как должен вести себя Вызываемый отчет: с показом формы или без, т.е. молча отработал и вернул результат в ПолеТабличногоДокумента.

1) Если молча, то чуть проще:

```1c
    Отчет = Отчеты.ОтчетМой.Создать();
    // задать параметры
    Отчет.Склад = Склад;
    Отчет.Товар = Товар;
    // запустить, должна быть такая проц-ра
    Отчет.Сформировать();
    // забрать результат
    ЭлементыФормы.ПолеТабличногоДокумента = Отчет.Результат;
```

Надо настроить отчет ОтчетМой, что бы он выводил свой результат в реквизит отчета "Результат".

2) Если с показом, т.е. показалась форма отчета, пользователь ввел параметры, запустил и результат перескочил в вызываемую обработку,
то технология другая: нужно передать отчету в качестве параметра:
- свою форму
- имя элемента на ней "ПолеТабличногоДокумента"
- отчет по окончании вывода копирует туда результат

Вывод: непросто это. И т. к. требует сильного изменения ОтчетМой, то проще при у него создать реквизит "ИмяФайла". При вызове заполнить. А отчет запишет туда результат.
---
И снова, здравствуйте! Как Вам уже и советовали в http://forum.infostart.ru/forum9/topic172941/, в отчете надо найти процедуру, которая заполняет ТабличныйДокумент. Вот эту процедуру и надо вызывать из отчета.
---
имеете ввиду процедуры на форме отчета, которая вызывается кнопкой "Сформировать"

вот ее код и как дальше?

```1c
    Процедура КнопкаСформироватьНажатие(Кнопка)
    Перем ДеревоВывода;

    ЭлементыФормы.ДокументРезультат.Очистить();
    СформироватьОтчет(ЭлементыФормы.ДокументРезультат, ДеревоВывода);

    КонецПроцедуры
```
---
Как Вам уже и советовали
Почитал другую ветку и беру советы взад.
Я вижу, что автор дурью мается, не знает чего хочет.
---
ну а теперь ищем процедуру СформироватьОтчет(
---
Я ищу оптимальный вариант, на СКД у меня уже все готово и работает

ЗЫ лучше чтобы отчет молча отработал и вернул результат, потом я его запишу в ексель
---
Она огромная)) сюда не поместиться

Александр, ну нашел а дальше что с ней?
---
Возможно, есть смысл поместить код сохранения отчета в свою процедуру в модуль менеджера отчета и вызывать её.
---
Не вариант, отчет могут дорабатывать. и даже не знать о моей обработке
---
Здесь требуется уточнение, а как должен вести себя Вызываемый отчет: с показом формы или без, т.е. молча отработал и вернул результат в ПолеТабличногоДокумента.

1) Если молча, то чуть проще:

```1c
    Отчет = Отчеты.ОтчетМой.Создать();
    // задать параметры
    Отчет.Склад = Склад;
    Отчет.Товар = Товар;
    // запустить, должна быть такая проц-ра
    Отчет.Сформировать();
    // забрать результат
    ЭлементыФормы.ПолеТабличногоДокумента = Отчет.Результат;
```

Надо настроить отчет ОтчетМой, что бы он выводил свой результат в реквизит отчета "Результат".

2) Если с показом, т.е. показалась форма отчета, пользователь ввел параметры, запустил и результат перескочил в вызываемую обработку,
то технология другая: нужно передать отчету в качестве параметра:
- свою форму
- имя элемента на ней "ПолеТабличногоДокумента"
- отчет по окончании вывода копирует туда результат

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

пишет Недостаточно фактических параметров
Отчет.СформироватьОтчет(ТабДок = Неопределено);
   процедура Экспортная
---
у процедуры два параметра, поэтому не хватает. По Вашему коду я вижу, что Вам не хватает знаний и опыта в элементарных вещах начального уровня. Надо подтянуть матчасть. Ну а чтобы все-таки заработало, я предлагаю Вам переговорить с автором отчета, вместе, я думаю, вы сможете добиться желаемого.
---
А что означает Отчет.СформироватьОтчет(ТабДок = Неопределено); - неопределено?
Вы же перед этим определили ТабДок как табличный документ. передаете его для заполнения, в результате вам должен вернуться табдок заполненный
---
А что означает Отчет.СформироватьОтчет(ТабДок = Неопределено); - неопределено?

Да я исправил :)

(15)пишет теперь

Ошибка выполнения запроса
по причине:
Ошибка в значении типа 'Дата'
Дата '02.01.0001 0:00:00' не может быть записана в базу данных на MS SQL Server с нулевым смещением дат
---
ну, приступим к вангованию: вероятно там есть запрос, а у запроса есть параметр типа "Дата", этот параметр следует как-то задать
---
Александр все верно))

как задать параметры типа даты в данной процедуре
Запросом? Вижу на СКД много параметров можно задать, а тут то как?
---
смотрите совет (15), это все, чем на данном этапе я могу Вам помочь. Отчет не Ваш, править Вы его не можете, процедуры портировать не хотите.