Имя: Пароль:
1C
1С v8
Разметка макета
0 hartman620
 
04.09.18
09:17
Есть макет,который заполняется в цикле, с ОДНИМ единственным параметром - небольшим текстом.
В целях экономии бумаги хочется заполнять его по 4 раза на одном А4 листе (то есть А6 получается) вот в таком виде:

1|2
---
3|4

Каким образом это было бы правильно сделать?
1 shadow_sw
 
04.09.18
09:18
сделай 4 раза в один макет
2 hartman620
 
04.09.18
09:23
макет 1, параметр там тоже 1
я его и вывожу, но выводит он:
1
2
3
4

Вопрос как его присобачивать справа?
3 shadow_sw
 
04.09.18
09:24
а что мешает разместить 4 раза одно и тоже как у тебя на схеме? разделив области печати
4 formista2000
 
04.09.18
09:26
Не проще ли посмотреть в настройках принтера?
5 Lexey_
 
04.09.18
09:27
(2) Присоединить()
6 hartman620
 
04.09.18
09:29
(3) тогда как его научить в какую область запихивать очередной параметр?

(4) это не про меня
(5) ТабДок.Присоединить(ТабДок); лепит снизу
7 Lexey_
 
04.09.18
09:34
(6) если ты получил область как бесконечную строку, то да
8 dmt
 
04.09.18
09:36
(6) покажи код
9 hartman620
 
04.09.18
09:53
(8) Только не бейте

ТабДок = Новый ТабличныйДокумент;
        ТабДок.ТолькоПросмотр = Истина;
        ТабДок.ОтображатьЗаголовки = Ложь;
        ТабДок.ОтображатьСетку     = Ложь;
        ТабДок.ОриентацияСтраницы  = ОриентацияСтраницы.Ландшафт;
        ТабДок.АвтоМасштаб         = Истина;
        
Счечик = 1;
        
Для Каждого Инфофайл Из МассивИнфоФайлов Цикл
            
    Область.Параметры.Инфофайл = Инфофайл;
            
Если Счечик = 1      Или Счечик = 3
Или Счечик = 5         Или Счечик = 7
Или Счечик = 9         Или Счечик = 11
Или Счечик = 13        Или Счечик = 15
Или Счечик = 17        Или Счечик = 19
Или Счечик = 21        Или Счечик = 23
Или Счечик = 25        Или Счечик = 27
Или Счечик = 29        Или Счечик = 31 Тогда
            
ТабДок.Вывести(Область);
                
ИначеЕсли Счечик = 2       Или Счечик = 4
Или Счечик = 6         Или Счечик = 8
Или Счечик = 10        Или Счечик = 12
Или Счечик = 14        Или Счечик = 16
Или Счечик = 18        Или Счечик = 20
Или Счечик = 22        Или Счечик = 24
Или Счечик = 26        Или Счечик = 28
Или Счечик = 30        Или Счечик = 32 Тогда          
                
    ТабДок.Присоединить(ТабДок);
                
     Если Счечик%4 = 0 Тогда
    
      ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
                    
     КонецЕсли;
                
    КонецЕсли;
            
    Счечик = Счечик + 1;
            
  КонецЦикла;
        
ТабДок.Показать("ПечатьИнфо");
10 dmt
 
04.09.18
10:05
(9)
        вспТабДок = Новый ТабличныйДокумент;
        вспТабДок.Вывести(Область);
        ТабДок.Присоединить(вспТабДок);
11 dmt
 
04.09.18
10:08
(9) Если ты умеешь писать Х%4 = 0, зачем перечисляешь все варианты в условии? сделал бы (Х%2 = 1 И Счетчик < 32)
12 Ботаник Гарден Меран
 
04.09.18
10:10
(6)
Надо области нормально получить.

ПолучитьОбласть("Строка|Колонка")

Тогда Присоединить будет работать.
13 shadow_sw
 
04.09.18
10:30
(12) я в (3) тоже самое написал
14 hartman620
 
04.09.18
15:53
(3) (12) Действительно
Я не создал доп колонку для вывода, теперь

Область = Макет.ПолучитьОбласть("Заголовок | Доп");
...;
ТабДок.Присоединить(Область);

работает как и хотелось.

(11) а вот это верно, всем спасибо
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший