Имя: Пароль:
1C
1С v8
СКД - вывод собственной шапки и подвала
0 VladSt
 
23.12.15
18:53
Добрый день
Есть отчет в СКД, все работает, но надо вывести собственную шапку и подвал. Написал код, выводит, но не работают пользовательские настройки (отборы, параметры, выбранные колонки и т.д.). Выводится все по умолчанию, как создано в конфигураторе в настройках.
Читал по этому поводу кучу инфы, все так просто как бы, как бы и у меня получилось вывести шапку и подвал, но нигде не нашел примера что делать с собственными настройками созданными уже в режиме 1С Предприятия.
Подскажите

Вот мой код:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь; // отключаем стандартный вывод отчета - будем выводить программно         
    Настройки = КомпоновщикНастроек.Настройки;// Получаем настройки отчета  
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета        
    // Инициализируем макет компоновки используя схему компоновки данных
    // и созданные ранее настройки и данные расшифровки
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    // Скомпонуем результат
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
    
    ДокументРезультат.Очистить();
    
    // Выводим результат в табличный документ
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);    
    //....
    
    // Вывожу шапку
    Макет = ПолучитьОбщийМакет("ШапкаИПодвалОтчетов");
    ОбластьШапка = Макет.ПолучитьОбласть("ШапкаУтверждаю");
    ДокументРезультат.Вывести(ОбластьШапка);
    
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
    // Вывожу подвал
    ОбластьПодвал = Макет.ПолучитьОбласть("ПодвалТехник");
    ДокументРезультат.Вывести(ОбластьПодвал);
    
    
    ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ДокументРезультат.АвтоМасштаб = Истина;
КонецПроцедуры
1 Nuobu
 
23.12.15
20:43
ДокументРезультат.Область(1,1,1,1).Текст = "";
ДокументРезультат.Область(2,1,2,1).Текст = "";
ДокументРезультат.Область(2,2,2,2).Текст = "";
2 Armando
 
23.12.15
22:52
Вместо
Настройки = КомпоновщикНастроек.Настройки
надо
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
3 EugeniaK
 
24.12.15
01:00
(0) а зачем так сложно?
Шапка настраивается макетами без никакого программирования.
4 VladSt
 
24.12.15
09:07
(2) Спасибо!
Программист всегда исправляет последнюю ошибку.