|
Печать 2 экземпляров макета на одной странице. | ☑ | ||
---|---|---|---|---|
0
DenYuliya
28.10.13
✎
14:11
|
||||
1
1dvd
28.10.13
✎
14:14
|
Гражданка, покажите свою фотокарточку
|
|||
2
Холодильник
28.10.13
✎
14:14
|
||||
3
DenYuliya
28.10.13
✎
14:17
|
Добрый день.
Подскажите, реально ли программно настроить вывод 2 одинаковых экземпляров ТабДока на одном листе альбомной ориентации? По масштабу они должны влезть... В СП и гугле не банили :), нашла подобную тему v8: Избитый вопрос печати 2-х экземпляров на 1 странице, но что-то так и не разобралась((. Сейчас выводятся 2 экземпляра, разорванные посередине, по вертикали один над другим- то есть совсем не то, что нужно. 1 экземпляр выводится, как надо. |
|||
4
DenYuliya
28.10.13
✎
14:23
|
(2), вы мне ссылку на мою же тему кидаете.
Да я изначально неправильно тему создала (хотела прикрепить ссылку на похожую тему, и случайно отправила). Что-то не забыла, где тут листинг вставить. |
|||
5
DenYuliya
28.10.13
✎
14:27
|
Сейчас так (не работает, как надо):
Пока Выборка.Следующий() Цикл МестоРождения = Неопределено; АдресПроживания = Неопределено; ПолучитьАдреса(Выборка.Клиент, МестоРождения, АдресПроживания); ОбластьМакета = Макет.ПолучитьОбласть("Область1"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ТабДок.АвтоМасштаб = Истина; ТабДок.РазборПоКопиям = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.КоличествоЭкземпляров = 2; ТабДок.ЭкземпляровНаСтранице = 2; ТабДок.Показать(); КонецПроцедуры |
|||
6
Масянька
28.10.13
✎
14:29
|
(5) Очень внимательно читаем (1)....
|
|||
7
dka80
28.10.13
✎
14:30
|
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
|
|||
8
DenYuliya
28.10.13
✎
14:36
|
(7) , что "ТабДок.ВывестиГоризонтальныйРазделительСтраниц();"?
В коде есть ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); Я его не там использую или его не надо использовать вообще? Пробовала его не использовать - ничего не меняется. |
|||
9
DenYuliya
28.10.13
✎
14:37
|
(6), зайдите в мой личный кабинет, там все есть)
|
|||
10
dka80
28.10.13
✎
14:40
|
ОбластьМакета = Макет.ПолучитьОбласть("Область1");
ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.Вывести(ОбластьМакета 1); ОбластьМакета = Макет.ПолучитьОбласть("Область2"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.Вывести(ОбластьМакета2 ); табдок.показать(); |
|||
11
dka80
28.10.13
✎
14:40
|
ОбластьМакета1 = Макет.ПолучитьОбласть("Область1");
ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.Вывести(ОбластьМакета 1); ОбластьМакета2 = Макет.ПолучитьОбласть("Область2"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.Вывести(ОбластьМакета2 ); табдок.показать(); |
|||
12
1dvd
28.10.13
✎
14:41
|
(11) опять неправильно. давай ещё
|
|||
13
Alegshzhkka
28.10.13
✎
14:43
|
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
ТабДок.Присоединить (ТабДок); ТабДок.Показать (); может извращение, но у меня работает) |
|||
14
Масянька
28.10.13
✎
14:44
|
(9) Пардон, была не в курсе :)))
Если я ничего не путаю - АвтоМасштаб = истина - это развернуть на всю страницу. |
|||
15
DenYuliya
28.10.13
✎
14:49
|
(14), не совсем. Подстроить под страницу, если не помещается. С шириной 1 экземпляра все в порядке- печатается с левой части страницы в формате 105 мм ширина\ 145 мм высота (врде бы это формат А5).
Но если использовать ТабДок.КоличествоЭкземпляров = 2; ТабДок.ЭкземпляровНаСтранице = 2; тогда печатаются 2 разорванных посередине экземпляра, и не рядом друг с другом на 1 странице, а друг под другом на 2 страницах. |
|||
16
DenYuliya
28.10.13
✎
14:51
|
)) круто тут вставка кода работает. Обычный текст записывается, как код.
Имелось в виду, конечно: "но если записывать" ТабДок.КоличествоЭкземпляров = 2; ТабДок.ЭкземпляровНаСтранице = 2; |
|||
17
DenYuliya
28.10.13
✎
14:56
|
(11) , в таком случае придется создавать макет Область2, и заново задавать все параметры?
|
|||
18
Масянька
28.10.13
✎
14:59
|
Код для 7.7:
Если СразуНаПринтер = 0 Тогда // покажем результирующую таблицу ПечТаблица.Опции(0, 0, ВысотаШапки, 0, "ПараметрыПечатиЧека", "ПараметрыПечатиЧека"); ПечТаблица.ПараметрыСтраницы(1,100,,5,5,5,5,,,,,); ПечТаблица.КоличествоЭкземпляров(2); ПечТаблица.ЭкземпляровНаСтранице(2); Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда ПечТаблица.Защита(1); Иначе ПечТаблица.Защита(0); КонецЕсли; ПечТаблица.ТолькоПросмотр(1); ПечТаблица.Показать("Товарный чек",""); Иначе ПечТаблица.ПараметрыСтраницы(,,,,,,,,,0,,); //ПечТаблица.ПараметрыСтраницы(,,,,,,,,,1,,); ПечТаблица.ЭкземпляровНаСтранице(0); ПечТаблица.КоличествоЭкземпляров(КолЭкз); ПечТаблица.Напечатать(0); КонецЕсли; Причём: в предпросмотре - 1 стр, на печати 2 одинаковые стр на 1 листе. |
|||
19
Масянька
28.10.13
✎
15:01
|
(5) И почему в цикле?
|
|||
20
DenYuliya
28.10.13
✎
15:17
|
(19), зависит от количества записей в исходном документе (от 1 до 8).
|
|||
21
Масянька
28.10.13
✎
15:19
|
(20) Попробуй: сначала всё вывести, а потом уже устанавливать 2 на страницу.
|
|||
22
1dvd
28.10.13
✎
15:20
|
(13) очень красивое решение, кстати. Круть!
|
|||
23
DenYuliya
28.10.13
✎
15:38
|
(22) метод Присоединить выводит второй экземпляр, но почему-то все равно не справа на той же странице, а ПОД на вторую страницу
|
|||
24
DenYuliya
28.10.13
✎
15:44
|
Пока Выборка.Следующий() Цикл
МестоРождения = Неопределено; АдресПроживания = Неопределено; ПолучитьАдреса(Выборка.Клиент, МестоРождения, АдресПроживания); ОбластьМакета = Макет.ПолучитьОбласть("Область1"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); КонецЦикла; //Денисенко Юлия ТабДок.АвтоМасштаб = Истина; ТабДок.РазборПоКопиям = Истина; ТабДок.КоличествоЭкземпляров = 1; ТабДок.ЭкземпляровНаСтранице = 1; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); ТабДок.Присоединить(ТабДок); ТабДок.Показать(); КонецПроцедуры |
|||
25
DenYuliya
28.10.13
✎
18:02
|
(13), у меня так работает, но не так, как надо- добавляет экземпляр внизу на другой странице.
Пока Выборка.Следующий() Цикл МестоРождения = Неопределено; АдресПроживания = Неопределено; ПолучитьАдреса(Выборка.Клиент, МестоРождения, АдресПроживания); ОбластьМакета = Макет.ПолучитьОбласть("Область1"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); КонецЦикла; ТабДок.АвтоМасштаб = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); ТабДок.Присоединить(ТабДок); ТабДок.Показать(); |
|||
26
DenYuliya
29.10.13
✎
15:02
|
В итоге сделала так:
1) в Макете добавила вертикальную область Область2 (не отдельную, к Область1 добавила вертикально Область2). 2) Далее: Пока Выборка.Следующий() Цикл МестоРождения = Неопределено; АдресПроживания = Неопределено; ПолучитьАдреса(Выборка.Клиент, МестоРождения, АдресПроживания); ОбластьМакета = Макет.ПолучитьОбласть("Область1|Область2"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.Присоединить(ОбластьМакета); ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ТабДок.АвтоМасштаб = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.ВывестиВертикальныйРазделительСтраниц(); ТабДок.Показать() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |