Всем привет!

Думаю что вопрос до ужаса простой, но я не понимаю как реализовать следующее:
на форме есть поле в которое мы можем ввести ссылку на объект(например это заказ клиента). И есть кнопка "Получить ПФ".

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

Как я могу это реализовать?
---
Вот тебе готовый код.

```1c
    МассивОбъектов = Новый Массив;
    МассивОбъектов.Добавить(Заказ);

    СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);

    СписокОбъектов = Новый СписокЗначений;
    СписокОбъектов.Добавить(Заказ);

    Результат = Обработки.ПечатьЗаказовНаТоварыУслуги.СформироватьПечатнуюФормуЗаказаКлиента(СтруктураТипов, СписокОбъектов, Новый Структура);
```
---
ТабДокумент.Записать("С:\ИмяФайла.xls", ТипФайлаТабличногоДокумента.XLS);
---
ТабличныйДокумент.Записать(<ИмяФайла>, <ТипФайлаТаблицы>);
---
отлично, как осхранить мы разобрались, а как получить то сам табличный документ?
---
ТабДок = Новый ТабличныйДокумент;
---
Это уже второй вопрос, не такой простой как первый. Требуются дополнительные сведения.
---
Доп сведения?

1. УФ
2. УТ 11.3
3. Печатная форма находится в обработке "ПечатьЗаказовНаТоварыУслуги"
---
Печатная форма находится в обработке "ПечатьЗаказовНаТоварыУслуги" ... в ней и надо сохранять полученный таб.документ как советовали ранее.
---
но ведь, перед сохранением ПФ мне её еще нужно заполнить....
---
Ну ты спросил как сохранить, я тебе ответил. А о том, что ты делал или не делал перед этим, речи не было. Какой вопрос, такой ответ.
---
я описал что у меня есть, и написал "Как я могу это реализовать?"
Я не спрашивал как я могу сохранить.

Ты описал только финал задачи, он конечно не лишний но в СП это описано, но всей предыстории нет...
---
я попробовал накидать вот такой вариант:

```1c
    &НаКлиенте
    Процедура Получить(Команда)
    ПФ = ПолучитьПечатнуюФормуДокумента (Заказ.Ссылка);
    ПФ.Записать("C:\Users\Morogov\Desktop\Отчеты из 1С\привет.xls",1);
    КонецПроцедуры

    Функция ПолучитьПечатнуюФормуДокумента (ТекДокумент) экспорт

    МассивОбъектов = новый Массив();
    МассивОбъектов.Добавить(ТекДокумент);
    ПараметрыПечати = Новый Структура();

    Документ = УправлениеПечатью.СформироватьПечатныеФормы("Обработка.ПечатьЗаказовНаТоварыУслуги","ПФ_MXL_ЗаказКлиента",МассивОбъектов,ПараметрыПечати,НЕОПРЕДЕЛЕНО);

    Возврат Документ.КоллекцияПечатныхФорм[0].ТабличныйДокумент;

    КонецФункции;
```
---
```1c
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите excel - файл";
    Диалог.ПолноеИмяФайла = "c:\";
    Диалог.Фильтр = "Таблицы (*.xls,*.xlsx)|*.xls;*.xlsx;|Microsoft Excel 97/2000/XP/2003 (*.xls)|*.xls|Microsoft Excel 2007/2010 (*.xlsx)|*.xlsx";

    Если Диалог.Выбрать() Тогда
    Объект.ФайлExcel = Диалог.ПолноеИмяФайла;
    КонецЕсли;

    ТабличныйДокумент.Прочитать(Объект.ФайлExcel);
```

Попробуйте так
---
Речь о записи, а не о чтении...
---
Создаешь макет, заполняешь данными, макет/области выводишь в табличный документ, табличный документ записываешь.
---
Если я вас правильно понимаю, вы предлагаете формировать ПФ руками?
Неужели нет варианта заполнить ПФ динамически в фоне?
---
Ну найди процедуру, которая создает и заполняет печатную форму и вызови ее с нужными параметрами.
---
И что она ему заполнит?
---
Даст ему готовый заполненный табличный документ.
---
Макет заполняется данными из выбранного объекта, реализуется это путем написания обработчиков заполнения. То есть описать все это в коде.
---
Вот тебе готовый код.

```1c
    МассивОбъектов = Новый Массив;
    МассивОбъектов.Добавить(Заказ);

    СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);

    СписокОбъектов = Новый СписокЗначений;
    СписокОбъектов.Добавить(Заказ);

    Результат = Обработки.ПечатьЗаказовНаТоварыУслуги.СформироватьПечатнуюФормуЗаказаКлиента(СтруктураТипов, СписокОбъектов, Новый Структура);
```
---
Работает. Спасибо огромное!

Если я правильно понимаю, то "СтруктураТипов", создана для определения типа объекта в массиве?
По сути, если делать "узкое" решение, то можно в структуру типов передать строкой сразу тип объекта?
---
Ну вы сами можете зайти в процедуру формирования табличного документа и все посмотреть, чтобы ответить на эти вопросы.
---
Ладно, поищу ответы на остальные вопросы сам.
Спасибо за решение!