Добрый день!
УФ БП 3.0
Сделано расширение для конфигурации, в которой идет отбор по документам. В результате получаем ссылки на документы (счет, акт, СФ).
Не получается по ссылкам на документы вывести встроенную печатную форму счета, акта, СФ.
Подскажите как используя встроенный механизм и ссылку на документ отправить на печать документ?
---
Отладчиком нашел где загвоздка, оказывается отдельная обработка для печати есть, а вовсе не из менеджера!
Вот что получилось:

```1c
    &НаСервере
    Функция ОтправкаНаПечать(ДокументДляПечати,ИмяФормы)
    ОбъектДок=ДокументДляПечати.ПолучитьОбъект();
    МассивОбъектов=Новый Массив;
    МассивОбъектов.Добавить(ДокументДляПечати);
    ПараметрыПечати=Новый Структура;
    КоллекцияПечатныхФорм=УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетЗаказ");
    //КоллекцияПечатныхФорм=Новый ТаблицаЗначений;
    //КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПечатнойФормы");
    //КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
    //КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
    //КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");

    //НоваяСтрока=КоллекцияПечатныхФорм.Добавить();
    //НоваяСтрока.ИмяВРЕГ="СЧЕТЗАКАЗ";
    //НоваяСтрока.ИмяМакета="СчетЗаказ";
    //НоваяСтрока.Экземпляров=Объект.КолвоКопийПечати;
    //НоваяСтрока.ПолныйПутьКМакету="ОбщийМакет.ПФ_MXL_СчетЗаказ";
    //НоваяСтрока.СинонимМакета="Счет на оплату";

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

    КонецФункции
```
---
За печать пакета документов отвечает общая форма Печать документов
Не знаю как это будет в расширении, но через внешние обработки я в процедуре
ВыполнитьОткрытиеПечатнойФормыЗавершение(ОбъектыНазначения, ДополнительныеПараметры) Экспорт Общего модуля ДополнительныеОтчетыиОбработкиКлиент я прописал вызов доработанной формы печати
примерно так

```1c
    ИспользоватьКвитанции = ДополнительныеОтчетыИОбработкиВызовСервера.ПолучитьИспользованиеФункциональнойОпции("IT_УчетКвитанций"); //ПолучитьФункциональнуюОпцию("IT_УчетКвитанций");
    Если ИспользоватьКвитанции И ДополнительныеПараметры.ВыполняемаяКоманда.Представление = "ПАКЕТ_К" Тогда
    ОткрытьФорму("ОбщаяФорма.IT_ПечатьДокументовК", ПараметрыОткрытия, Форма);
    Иначе
    ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
    Конецесли;
```

Если используется ФО и название ВПФ "ПАКЕТ_К" - то вызывается доработанная форма ПечатьДокументов, иначе Стандартная форма.
Надеюсь это Вам поможет понять как идет процесс печати пакета документов.
---
Вам нужно к метод Печать() документа вызвать?
---
lefthander lefthander (lefthander)
У меня нет общей формы:
ДополнительныеОтчетыИОбработкиВызовСервера.ПолучитьИспользованиеФункциональнойОпции

Nelli A (Nelli_A86)
Да, нужно обратиться к методу Печать, но из расширения конфигурации, используя форму документа, ссылка на который имеется.
---
Отладчиком нашел где загвоздка, оказывается отдельная обработка для печати есть, а вовсе не из менеджера!
Вот что получилось:

```1c
    &НаСервере
    Функция ОтправкаНаПечать(ДокументДляПечати,ИмяФормы)
    ОбъектДок=ДокументДляПечати.ПолучитьОбъект();
    МассивОбъектов=Новый Массив;
    МассивОбъектов.Добавить(ДокументДляПечати);
    ПараметрыПечати=Новый Структура;
    КоллекцияПечатныхФорм=УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетЗаказ");
    //КоллекцияПечатныхФорм=Новый ТаблицаЗначений;
    //КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПечатнойФормы");
    //КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
    //КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
    //КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
    //КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");

    //НоваяСтрока=КоллекцияПечатныхФорм.Добавить();
    //НоваяСтрока.ИмяВРЕГ="СЧЕТЗАКАЗ";
    //НоваяСтрока.ИмяМакета="СчетЗаказ";
    //НоваяСтрока.Экземпляров=Объект.КолвоКопийПечати;
    //НоваяСтрока.ПолныйПутьКМакету="ОбщийМакет.ПФ_MXL_СчетЗаказ";
    //НоваяСтрока.СинонимМакета="Счет на оплату";

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

    КонецФункции
```