Имя: Пароль:
1C
1С v8
Как повторить отчет несколько раз на странице
0 Death_eye
 
26.07.11
12:14
Сформировал отчет. Вывел как положено все области. Получается короткая таблица.
Как повторить ее несколько раз на странице?
Или придется снова все данные считать и выводить как в первый раз?
1 aleks-id
 
26.07.11
12:15
запрос в цикле наше(зачеркнуто) ваше всё!

если по теме - я ничего не понял...
2 rutony
 
26.07.11
12:15
У табличного документа есть свойство КоличествоЭкземпляров
3 Death_eye
 
26.07.11
12:17
Количество экземпляров на странице?
4 rutony
 
26.07.11
12:19
(3) Сори немного ступил, будут новые листы

Нужно просто циклом продублировать область с результатом
5 Death_eye
 
26.07.11
12:19
(1) Несколько раз одно и то же считать?
6 Ненавижу 1С
 
гуру
26.07.11
12:21
(5) а зачем вообще его выводить несколько раз?
ну можно готовую выборку снова пройти
7 catena
 
26.07.11
12:21
А зачем?
8 Death_eye
 
26.07.11
12:23
(7) Нужно 3 экземпляра отчета. Экономим бумагу, печатаем на одном листе.
9 popcorn
 
26.07.11
12:26
Сохрани все выводимые области в переменные или в массив. Потом выведи заново.
10 Death_eye
 
26.07.11
12:28
Понятно. Спасибо
11 acsent
 
26.07.11
12:31
(8) Полдня работы программиста и 1 лист бумаги. Ппц экономия
12 popcorn
 
26.07.11
12:35
(0)
Выборка = Результат.Выбрать();
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
   Шапка = Макет.ПолучитьОбласть("Шапка");
   Шапка.Параметры.Заполнить(Выборка);
   ТабДок.Вывести(Шапка, Выборка.Уровень());
   ВыборкаТЧасть = Выборка.ТЧасть.Выбрать();
   Пока ВыборкаТЧасть.Следующий() Цикл
       Строка[i] = Макет.ПолучитьОбласть("ТЧасть"); // Тут типа массив, сам сделай как-нибудь
       Строка[i].Параметры.Заполнить(ВыборкаТЧасть);
       ТабДок.Вывести(Строка[i], ВыборкаТЧасть.Уровень());
   КонецЦикла;
   Попа = Макет.ПолучитьОбласть("Попа");
   Попа.Параметры.Заполнить(Выборка);
   ТабДок.Вывести(Попа, Выборка.Уровень());
КонецЦикла;

ТабДок.Вывести(Шапка, Выборка.Уровень());
Для i=1 to N Цикл
   ТабДок.Вывести(Строка[i], ВыборкаТЧасть.Уровень());
КонецЦикла;
ТабДок.Вывести(Попа, Выборка.Уровень());
13 popcorn
 
26.07.11
12:36
+(12)
И еще третий раз вывод так же как второй:

ТабДок.Вывести(Шапка, Выборка.Уровень());
Для i=1 to N Цикл
   ТабДок.Вывести(Строка[i], ВыборкаТЧасть.Уровень());
КонецЦикла;
ТабДок.Вывести(Попа, Выборка.Уровень());
14 popcorn
 
26.07.11
12:40
(11) если отчет часто печатают, то не 1 лист бумаги экономия. Можно посчитать за сколько окупится работа.
Ну и не пол дня работы программиста, а 30 минут, час максимум.
15 Death_eye
 
26.07.11
12:40
Еще раз, спасибо всем
16 popcorn
 
26.07.11
13:02
(15) спасибо не булькает