|
Некорректный вывод второй страницы табличного документа при печати | ☑ | ||
---|---|---|---|---|
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) Это вам так кажется. Пунктирная линия вводит вас в заблуждение. Она показывает наибольшую ширину из этих областей, отмечая границу печати.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |