&Перед("ДобавитьКомандыПечати")
Процедура Расширение_ДобавитьКомандыПечати(КомандыПечати, Порядок, УсловиеВидимости)
// НаименованиеФормы
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ИмяФормы";
КомандаПечати.СразуНаПринтер = Истина;
КомандаПечати.Представление = НСтр("ru = 'НаименованиеФормы'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецПроцедуры
Функция СформироватьПечатнуюФормуИмяФормы(МассивОбъектов, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ИмяДокумента.ПФ_MXL_ИмяФормы");
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИмяФормы";
УстановитьПривилегированныйРежим(Истина);
ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
Запрос = Новый Запрос;
Запрос.Текст =
"";
Запрос.УстановитьПараметр("МассивОбъектов" , МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДокументов = РезультатЗапроса.Выбрать();
ПервыйДокумент = Истина;
Пока ВыборкаДокументов.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецФункции
&Перед("Печать")
Процедура Расширение_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ИмяФормы") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ИмяФормы", НСтр("ru = 'НаименованиеФормы'"),
СформироватьПечатнуюФормуИмяФормы(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
КонецПроцедуры