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