Имя: Пароль:
1C
1С v8
Печать на 1 лист
0 ogion83
 
26.10.21
15:22
День добрый.
При выводе указываю автомасштаб, но все равно некоторые строки уходят на следующий лист. Чего не хватает?
ТабДокумент.Вывести(ОбластьПояснения);
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.РазмерСтраницы = "A4";
ТабДокумент.ПолеСправа = 14;
ТабДокумент.ПолеСверху = 1;
ТабДокумент.ПолеСнизу = 1;
ТабДокумент.ПолеСправа = 5;
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.Показать();
1 arsik
 
гуру
26.10.21
15:26
(0) Читаем документацию
АвтоМасштаб
Если признак установлен и табличный документ не помещается на одну страницу по ширине, то масштаб будет установлен таким образом, чтобы документ помещался на одну страницу по ширине.
2 ogion83
 
26.10.21
15:36
А по высоте как тогда автоматизировать?
3 Aleksey
 
26.10.21
15:46
(2) Печать  войну и мир на 1 листе .. ну такое себе решение
4 Alex Проблемный
 
26.10.21
15:49
Постраничный вывод в табличный документ
https://its.1c.ru/db/metod8dev/content/2226/hdoc

Пока ВыборкаДетали.Следующий() Цикл // по всем строкам, которые необходимо вывести

    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); // заполним параметры области табличного документа

    Если Не ТабДок.ПроверитьВывод(СтрокаСПодвалом) Тогда

        // Строка с итогом не вмещается.
        ПодвалСтраницы.Параметры.Сумма = ИтогПоСтранице; // установим итог по странице
        ТабДок.Вывести(ПодвалСтраницы); // выведем итог по странице
        ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); // начнем новую страницу
        ТабДок.Вывести(ОбластьШапкаТаблицы); // выведем шапку страницы
        ИтогПоСтранице = 0; // сбросим текущую сумму по странице

    КонецЕсли;

    ТабДок.Вывести(ОбластьДетальныхЗаписей); // выведем очередную строку

    ИтогПоСтранице = ИтогПоСтранице + ВыборкаДетали.Сумма; // увеличим итог по странице

КонецЦикла;
5 ogion83
 
26.10.21
16:03
Пробовал вот так:
ТабДокумент.МасштабПечати = 100;
    Пока ТабДокумент.МасштабПечати > 50 Цикл
        Если ТабДокумент.ПроверитьВывод(ТабДокумент) Тогда
            Прервать;
        Иначе
            ТабДокумент.МасштабПечати = ТабДокумент.МасштабПечати - 5;
        КонецЕсли;
    КонецЦикла;
Должен цикл остановиться при 85%, но идет до конца, до 50.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший