Имя: Пароль:
1C
1С v8
Печатная форма
0 one_love
 
30.10.13
07:11
Добрый день.
"Управление торговлей 10.3". По нажатию кнопки на форме, открывается печатная форма. Нужно сделать так что бы шапка таблицы повторялась на каждой странице.
Текст кода:

Процедура ПечатьКраткаяФорма(Кнопка)
    
    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("тз",ТаблицаНоменклатуры);
    
    СхемаКомпоновкиДанных = ПолучитьМакет("макет2");
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
    Настройки);
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,
    ВнешниеНаборыДанных);
    
    ТабДок = Новый ТабличныйДокумент;
    
    //+
    макет0 = ПолучитьМакет("Макет");
    мШапка = макет0.ПолучитьОбласть("Заголовок");
    
    Заг = "Планирование закупок."+символы.ПС;
    Заг = Заг+"За период с "+формат(дата1,"ДФ=dd.MM.yyyy")+" по "+формат(дата2,"ДФ=dd.MM.yyyy")+символы.ПС;
    Заг = Заг+ "Закупка с "+формат(НачПерЗак,"ДФ=dd.MM.yyyy")+" по "+формат(КонПерЗак,"ДФ=dd.MM.yyyy");
    
    если ЗначениеЗаполнено(ДнейЗаказа) тогда
        Заг = Заг + " +"+строка(ДнейЗаказа)+" дн. доставки";
    КонецЕсли;
    
    если ЗначениеЗаполнено(ГруппаНоменклатуры) и не ЗначениеЗаполнено(_Фильтр)  тогда
        заг = заг+символы.ПС+"По группе """+строка(ГруппаНоменклатуры)+"""";
    ИначеЕсли ЗначениеЗаполнено(_Фильтр) тогда
        заг = заг+символы.ПС+"По группам """;
        
        СтрЗаг = "";
        для Каждого стрМ из _Фильтр цикл
            СтрЗаг = СтрЗаг+стрМ+";"    
        КонецЦикла;
        
        заг = заг+СтрЗаг+"""";
    КонецЕсли;
    
    если ЗначениеЗаполнено(КодПоставщика) тогда
        заг = заг+символы.ПС+"По коду поставщика """+строка(КодПоставщика)+"""";
    КонецЕсли;
        
    мШапка.Параметры.Заг = заг;
        
    ТабДок.Вывести(мШапка);
    
    //-
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        
    ТабДок.Показать();
    
КонецПроцедуры

Макет2 сделан на СКД.
Я так подразумеваю, что нужно делать нечто подобное в конце процедуры: ТабДок.ПовторятьПриПечатиСтроки =
Но сложность в том, что не могу передать нужную область, пробовал разные варианты, но постоянно пишет что "ПовторятьПриПечатиСтроки = Неопределенно". Подскажите пожалуйста.
За ранее спасибо.
1 Wobland
 
30.10.13
07:18
попробуй правильный вариант согласно СП
2 one_love
 
30.10.13
08:38
Разобрался, все получилось. Вопрос снят. Спасибо