Имя: Пароль:
1C
1С v8
Как "ПовторятьПриПечатиСтроки" не на все страницы?
0 cube033
 
14.11.14
07:38
Собственно, в отчете на СКД есть 2 таблицы: 1 Большая на несколько страниц и маленькая итоговая на последней странице. Шапка большой таблицы повторяется на всех страницах. Но на последней странице она естественно не нужна. Пока из здравых идей находил только разбиение таблиц на два табДока, но это же капец...
1 Cube
 
14.11.14
07:42
В одном таб доке никак...
2 butterbean
 
14.11.14
08:00
у нас для такого используется переключатель, чтобы выводилась либо одна таблица, либо вторая
3 SeraFim
 
14.11.14
08:01
"Повторять" самостоятельно.
То есть выводишь строчки большой таблицы и проверяешь - если страница закончилась, то начинаешь новую страницу и в начале выводишь шапку таблицы.
4 SeraFim
 
14.11.14
08:04
+(3)Пример из ЗУПа (печать приказа на отпуск)

    // выводим строки по работникам
    Пока ВыборкаРаботники.Следующий() Цикл
        //заполняем ОбластьМакета
        
        ВыведеноСтрок = ВыведеноСтрок + 1;

        // Проверим, уместится ли строка на странице или надо открывать новую страницу
        ВывестиПодвалЛиста = Не ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти);
        Если Не ВывестиПодвалЛиста и ВыведеноСтрок = ВсегоСтрокДокумента Тогда
            ВыводимыеОбласти.Добавить(ОбластьМакетаПодвал);
            ВывестиПодвалЛиста = Не ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти);
        КонецЕсли;
        Если ВывестиПодвалЛиста Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
            ТабДокумент.Вывести(ПовторятьПриПечатиСтроки);
        КонецЕсли;
        
        ТабДокумент.Вывести(ОбластьМакета);

    КонецЦикла;
5 SeraFim
 
14.11.14
08:05
ой, тьфу. Прошу прощения, не увидел "в отчете на СКД"
Программист всегда исправляет последнюю ошибку.