filmov
tv
СКД: Вывод печатных форм для нескольких документов через СКД с использованием разделителя страниц.
Показать описание
Вывод печатных форм для нескольких документов через СКД с использованием разделителя страниц. (7 урок)
Научившись один раз это делать, вы ускорите свою работу в разы!
//КОД
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
Схема = ЭтотОбъект.СхемаКомпоновкиДанных; //получаем нашу схему - СКД
Настройки = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(); //вытаскиваем настройки из СКД
КомпановщикМакета = новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпановки = КомпановщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки); //соединяес схему и настройки с помощью компоновщика
ПроцессКомпановки = новый ПроцессорКомпоновкиДанных;
ПроцессКомпановки.Инициализировать(МакетКомпановки,,ДанныеРасшифровки, Истина);
ПроцессВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; //чтобы в табличный документ вывести информацию
ПроцессВывода.УстановитьДокумент(ДокументРезультат); // с помощью этой функции определяем куда будет выводится
#Область ПерехватТабДокументаИДобавлениеРазделителя
ПроцессВывода.НачатьВывод();
ВывестиРазделительСтраниц = Ложь;
Пока Истина Цикл
Элемент = ПроцессКомпановки.Следующий();
Если Элемент = Неопределено Тогда
Прервать;
КонецЕсли;
Для Каждого Парам из Элемент.ЗначенияПараметров Цикл
Если Парам.Значение = "[Новая страница]" Тогда
ВывестиРазделительСтраниц = Истина;
Парам.Значение = Неопределено;
КонецЕсли;
КонецЦикла;
ПроцессВывода.ВывестиЭлемент(Элемент);
Если ВывестиРазделительСтраниц тогда
ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
ВывестиРазделительСтраниц = Ложь;
КонецЕсли;
КонецЦикла;
ПроцессВывода.ЗакончитьВывод();
#КонецОбласти
КонецПроцедуры
-----------------------------------------------------------------------------------------------------------------------------------------------
Если вам нравится мой канал, вы можете поддержать меня донатом:
Научившись один раз это делать, вы ускорите свою работу в разы!
//КОД
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
Схема = ЭтотОбъект.СхемаКомпоновкиДанных; //получаем нашу схему - СКД
Настройки = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(); //вытаскиваем настройки из СКД
КомпановщикМакета = новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпановки = КомпановщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки); //соединяес схему и настройки с помощью компоновщика
ПроцессКомпановки = новый ПроцессорКомпоновкиДанных;
ПроцессКомпановки.Инициализировать(МакетКомпановки,,ДанныеРасшифровки, Истина);
ПроцессВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; //чтобы в табличный документ вывести информацию
ПроцессВывода.УстановитьДокумент(ДокументРезультат); // с помощью этой функции определяем куда будет выводится
#Область ПерехватТабДокументаИДобавлениеРазделителя
ПроцессВывода.НачатьВывод();
ВывестиРазделительСтраниц = Ложь;
Пока Истина Цикл
Элемент = ПроцессКомпановки.Следующий();
Если Элемент = Неопределено Тогда
Прервать;
КонецЕсли;
Для Каждого Парам из Элемент.ЗначенияПараметров Цикл
Если Парам.Значение = "[Новая страница]" Тогда
ВывестиРазделительСтраниц = Истина;
Парам.Значение = Неопределено;
КонецЕсли;
КонецЦикла;
ПроцессВывода.ВывестиЭлемент(Элемент);
Если ВывестиРазделительСтраниц тогда
ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
ВывестиРазделительСтраниц = Ложь;
КонецЕсли;
КонецЦикла;
ПроцессВывода.ЗакончитьВывод();
#КонецОбласти
КонецПроцедуры
-----------------------------------------------------------------------------------------------------------------------------------------------
Если вам нравится мой канал, вы можете поддержать меня донатом:
Комментарии