|   |   | 
| 
 | Некорректный вывод второй страницы табличного документа при печати | ☑ | ||
|---|---|---|---|---|
| 0
    
        Len1vec 22.03.23✎ 10:25 | 
        Добрый день. Подскажите, пожалуйста.
 Есть макет, в котором есть 3 области: Абзац1, Абзац2 и ПустаяСтрока (все одинаковые по ширине и количеству ячеек. Т.к. принтер не имеет функции двухсторонней печати, то пришлось делать "велосипед". А именно, на листе формата А4 вывести в левой половине пустую страницу, а в правой половине печатаемую область. Так они печатают сначала 1 страницу, переворачивают лист и печатают вторую страницу. Проблема вот в чем. Если первая страница выводится на печать нормально, то вторая выводится, почему-то, со смещением на одну ячейку влево (скрин 2), из-за чего получается слишком близко к середине. Как это исправить, чтобы печатаемые области выводились ровно относительно друг друга, как на первой странице? Скрины: 1. Макет - https://hkar.ru/17m9j 2. То, что печатается - https://hkar.ru/17m9k Код формирования табличного документа: ТД = Новый ТабличныйДокумент; ТД.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТД.РазмерСтраницы = "A4"; ТД.АвтоМасштаб = Истина; ТД.ПолеСлева = 1; ТД.ПолеСправа = 1; ТД.ПолеСверху = 5; ТД.ПолеСнизу = 5; Макет = Справочники.Пациенты.ПолучитьМакет("ИнфСогласие"); //Формируем первую страницу ТабДокПустая1 = Новый ТабличныйДокумент; ОблПустая1 = Макет.ПолучитьОбласть("ПустаяСтрока"); ТабДокПустая1.Вывести(ОблПустая1); ТабДок1 = Новый ТабличныйДокумент; ОблАбзац1 = Макет.ПолучитьОбласть("Абзац1"); /*Выводим данные для параметров*/ ТабДок1.Вывести(ОблАбзац1); Область1 = ТабДокПустая1.ПолучитьОбласть(1,1, ТабДок1.ВысотаТаблицы, ТабДок1.ШиринаТаблицы); ТД.Вывести(Область1); ТД.ВывестиГоризонтальныйРазделительСтраниц(); //Отделяю левую (пустую) половину от правой ТД.Присоединить(ТабДок1); ТД.ВывестиГоризонтальныйРазделительСтраниц(); //Отделяю первую страницу от второй //Формируем вторую страницу ТабДокПустая2 = Новый ТабличныйДокумент; ОблПустая2 = Макет.ПолучитьОбласть("ПустаяСтрока"); ТабДокПустая2.Вывести(ОблПустая2); ТабДок2 = Новый ТабличныйДокумент; ОблАбзац2 = Макет.ПолучитьОбласть("Абзац2"); ОблАбзац2.Параметры.ТекущаяДата = Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy"); ТабДок2.Вывести(ОблАбзац2); Область2 = ТабДокПустая2.ПолучитьОбласть(1,1, ТабДок2.ВысотаТаблицы, ТабДок2.ШиринаТаблицы); ТД.Вывести(Область2); ТД.ВывестиГоризонтальныйРазделительСтраниц(); ТД.Присоединить(ТабДок2); ТД.Показать(); | |||
| 1
    
        Len1vec 22.03.23✎ 10:26 | 
        Платформа 8.2.19.130     | |||
| 2
    
        vicof 22.03.23✎ 11:06 | 
        Купить нормальный принтер не предлагать?)     | |||
| 3
    
        CaIIIka 22.03.23✎ 11:09 | 
        Ориентацией текста нарисовать вторую половину рядом вверх ногами)     | |||
| 4
    
        Len1vec 22.03.23✎ 11:13 | 
        (2) Не слишком, но жостка)     | |||
| 5
    
        Len1vec 22.03.23✎ 11:14 | 
        (3) Не, бумажка будет неправильно переворачиваться     | |||
| 6
    
        CaIIIka 22.03.23✎ 11:17 | 
        (5) Так за один же проход печататься будет.     | |||
| 7
    
        Len1vec 22.03.23✎ 11:19 | 
        (6) они печатают на одной половине листа а4, потом оставшуюся (пустую) снова используют для печати)     | |||
| 8
    
        Len1vec 22.03.23✎ 11:20 | 
        Экономия бумаги!     | |||
| 9
    
        CaIIIka 22.03.23✎ 11:26 | 
        Вообще меня смущает куча новых табличных документов, присоединения. Еще колонка 11 в макете (пустая). По колонкам нет ограничения.
 Сделай вертикальную секцию и выводи ее. | |||
| 10
    
        Len1vec 22.03.23✎ 11:36 | 
        (9) данный способ был предложен мне на этом же форуме (Вывод двух областей на листе формата А4 в ландшафте     | |||
| 11
    
        Fish гуру 22.03.23✎ 11:42 | 
        (8) Режьте лист А4 на 2, и печатайте безо всяких переворотов.     | |||
| 12
    
        Len1vec 22.03.23✎ 15:22 | 
        (11) Так дело в том, что принтер печатает от правого конца листа к левому, соответственно и печатная форма составлена так (печатаемые области в правой половине листа), чтобы можно было печатать на обрезанной половине листа А4 с обеих сторон     | |||
| 13
    
        azernot 22.03.23✎ 18:42 | 
        (0) Удалите в макете колонку 11
 ну или если она нужна, поставьте пробел в ячейке 48:11 макета. У вас ширина области абзац2 в макете меньше, чем ширина области абзац1 А вообще, код в (0) просто ужас. | |||
| 14
    
        Len1vec 23.03.23✎ 19:33 | 
        (13) с пробелом помогло! Ширина у областей абзац1 и абзац2 в макете полностью идентичны жи     | |||
| 15
    
        azernot 23.03.23✎ 19:45 | 
        (14) Это вам так кажется. Пунктирная линия вводит вас в заблуждение. Она показывает наибольшую ширину из этих областей, отмечая границу печати.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |