| 
    
        
     
     | 
    
  | 
Печать 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"); ЗаполнитьПоВыборке(ТабДок, Выборка, ОбластьМакета, МестоРождения, АдресПроживания); ТабДок.Присоединить(ОбластьМакета); ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ТабДок.АвтоМасштаб = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.ВывестиВертикальныйРазделительСтраниц(); ТабДок.Показать()  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |