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