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