|
Присоединение табличного документа | ☑ | ||
---|---|---|---|---|
0
Liova
29.08.12
✎
10:49
|
Делаю отчет из нескольких частей - имеются общие строки, далее часть с одной группировкой колонок, потом с другой группировкой колонок (данные разнородные в разрезе колонок, одинаковые только строки).
Сделал два ТД, в одном левая часть, в другом - правая, строки совпадают. Теперь хочу Присоединить() правую часть к левой, но получается аналог Вывести(). ТД и ТД2 - табличные документы ЭлементыФормы.ПолеТабличногоДокумента.Вывести(ТД); ЭлементыФормы.ПолеТабличногоДокумента.Присоединить(ТД2); ЧЯДНТ? Пробовал Присоединить(ТД.ПолучитьОбласть()) - всё аналогично |
|||
1
Liova
29.08.12
✎
11:57
|
Ап
|
|||
2
kosts
29.08.12
✎
11:59
|
(0) Зачем сливать 2 в 1. Сразу формируй в один ТД.
|
|||
3
rutony
29.08.12
✎
12:01
|
Попробуй табличные документы засунуть в области и выводить, присоединять
|
|||
4
Liova
29.08.12
✎
12:01
|
(2) Неудобно сначала выводить кучу шапок (состав колонок зависит от итогов) а потом кучу данных. А так каждый отдельный блок есть, в код легко поменять местами/убрать/добавить что-нибудь.
|
|||
5
Liova
29.08.12
✎
12:02
|
(3) Что имеется ввиду под "засунуть"?
|
|||
6
Rie
29.08.12
✎
12:03
|
(0) Поподробнее - что такое ТД и ТД2.
Если ты ТД получил из области, тянущейся в бесконечность (например, "R8") - то не сможет от Присоединить. |
|||
7
Liova
29.08.12
✎
12:07
|
(6) ТД - Табличный документ, к которому из макета выводились и присоединялись области.
ТД2 - аналогично. Если, например, я присоединю к ТД ТД2, то ТД2 выведется справа от последней строки ТД. |
|||
8
Rie
29.08.12
✎
12:09
|
(7) Откуда берётся этот табличный документ?
|
|||
9
1Сергей
29.08.12
✎
12:10
|
(7) ПолучитьМакет()
|
|||
10
Liova
29.08.12
✎
12:12
|
(8) Выводом и присоединением Макет.ПолучитьОбласть("Строка|Колонка")
|
|||
11
kosts
29.08.12
✎
12:12
|
Формируй не в табличные документы, а сохраняй области в таблицу значений.
Потом пробегись по таблице значений вытащи области в тебе нужном порядке и выведи в табличный документ. |
|||
12
Rie
29.08.12
✎
12:13
|
Похоже, что (3) прав.
Или не Вывести(ТД); а Вывести(ТД.ПолучитьОбласть(ТаОбластьЧтоРеальноЗаполнена)); |
|||
13
Liova
29.08.12
✎
12:29
|
(12) Работает. Только туплю с тем, как мне получить область или её размеры, не считать же при выводе?
|
|||
14
Liova
29.08.12
✎
12:58
|
ОбщийТД = Новый ТабличныйДокумент;
//ОбщийТД.Вывести(ТД.ПолучитьОбласть()); //ОбщийТД.Присоединить(ТД2.ПолучитьОбласть()); ОбщийТД.Вывести(ТД.ПолучитьОбласть(1, 1, ТД.ВысотаТаблицы, ТД.ШиринаТаблицы)); ОбщийТД.Присоединить(ТД2.ПолучитьОбласть(1, 1, ТД2.ВысотаТаблицы, ТД2.ШиринаТаблицы)); Так получает то, что мне надо. Причем закоментированный код дает совсем другие области. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |