Имя: Пароль:
1C
1С v8
Печать макета
,
0 Самая счастливая
 
20.11.13
07:11
Доброе утро! Подскажите пожалуйста , когда печатаю документ первый лист выходит нормально,, на второй одна строчка, и продолжение на 3-й, хотя должно только на двух страницах печататься
    Пока ВыборкаСтрокТовары.Следующий() Цикл
           Ном = Ном + 1;
        //Начинаем новую страницу, если предыдущая строка была последней на странице
        //или пора переносить последнюю строку на последнюю страницу с подвалом.
        ЦелаяСтраница = (СтрокШапки + Ном - 1) / СтрокНаСтранице;
        Если (ЦелаяСтраница = Цел(ЦелаяСтраница)) или ((ПереноситьПоследнююСтроку = 1) и (Ном = КоличествоСтрок)) Тогда
               НомерСтраницы    = НомерСтраницы + 1;
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
            ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы;
            ТабДокумент.Вывести(ЗаголовокТаблицы);
        КонецЕсли;
Где? что? написать
1 Самая счастливая
 
20.11.13
07:12
Смотрю предварительный просмотр, всё нормально, на 2-х листах
2 Rie
 
20.11.13
07:13
(0) Параметры страницы при предварительном просмотре и при печати - вовсе не обязаны совпадать.
3 Самая счастливая
 
20.11.13
07:14
а где указать параметры для печати?
4 Самая счастливая
 
20.11.13
07:14
или как?
5 Галахад
 
гуру
20.11.13
07:16
Что-то не понял. А 0 - это целаястраница?
6 Самая счастливая
 
20.11.13
07:17
может не там писать
7 Самая счастливая
 
20.11.13
07:19
ТабДокумент.РазмерСтраницы     =  "A4";
    ТабДокумент.АвтоМасштаб         = Истина;    
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
8 Rie
 
20.11.13
07:22
(7) Поля, колонтитулы и т.д. и т.п. - тоже могут влиять...
Да и принтеры бывают разные.
9 Самая счастливая
 
20.11.13
07:23
// Зададим параметры макета
    ТабДокумент.ПолеСверху         = 0;
    ТабДокумент.ПолеСлева          = 0;
    ТабДокумент.ПолеСнизу          = 0;
    ТабДокумент.ПолеСправа         = 0;
    ТабДокумент.РазмерСтраницы     =  "A4";
    ТабДокумент.АвтоМасштаб         = Истина;    
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
10 Rie
 
20.11.13
07:29
(9) Так и каков результат?
Кстати, а
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ничему не мешает? Он именно там, где надо, стоит?
11 Самая счастливая
 
20.11.13
07:36
а где его ставить?
12 Rie
 
20.11.13
07:42
(11) Не знаю. Это же - Ваша программа.
Насколько я понял, Вы отлавливаете ситуацию, когда на последней странице оказывается только подвал - и стараетесь этой ситуации избежать.
Но если шапка у Вас большая - то и произойдёт нечто, подобное описанному в (0): на странице шапки окажется одна строка, следующая строка будет предпоследней, она выведется на своей странице, а потом - будет последняя строка, которая должна быть перенесена на страницу с подвалом.
13 Самая счастливая
 
20.11.13
08:13
всё работает))))))))))
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.