|
v8: СКД.Вывод элементов результата с объединением ячеек.Странное поведение платформы | ☑ | ||
---|---|---|---|---|
0
Armando
07.07.14
✎
16:47
|
Вывожу по горизонтали элементы результата СКД, и хочу, чтоб выводимые ячейки объединялись.
Все хорошо работает пока в строке макета области одна ячейка. Как только ячеек становится больше, то результат немного удивляет - первые ячейки выводятся не объединенными, а остальные объединяются. Ожидаемый результат - все ячейки объединены. Вот код для примера Процедура ВывестиТабличныйДокумент(КоличествоЯчеек = 1) ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.НачатьВывод(); ЭлементРезультата = Новый ЭлементРезультатаКомпоновкиДанных; ЭлементРезультата.РасположениеВложенныхЭлементов = РасположениеВложенныхЭлементовРезультатаКомпоновкиДанных.Горизонтально; ЭлементРезультата.ТипЭлемента = ТипЭлементаРезультатаКомпоновкиДанных.Начало; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); Для СчетчикГрупп = 1 По 3 Цикл ЭлементРезультата = Новый ЭлементРезультатаКомпоновкиДанных; ЭлементРезультата.Макет = "Макет1"; ОписаниеМакетаОбластиМакетаКомпоновкиДанных = ЭлементРезультата.Макеты.Добавить(); ОписаниеМакетаОбластиМакетаКомпоновкиДанных.Имя = "Макет1"; МакетОбластиКомпоновкиДанных = Новый МакетОбластиКомпоновкиДанных; // делаем несколько строк Для СчетчикСтрок = 1 По 1 Цикл СтрокаТаблицыОбластиКомпоновкиДанных = МакетОбластиКомпоновкиДанных.Добавить(Тип("СтрокаТаблицыОбластиКомпоновкиДанных")); Для СчетчикЯчеек = 1 По КоличествоЯчеек Цикл ЯчейкаТаблицыОбластиКомпоновкиДанных = СтрокаТаблицыОбластиКомпоновкиДанных.Ячейки.Добавить(); ЯчейкаТаблицыОбластиКомпоновкиДанных.Оформление.УстановитьЗначениеПараметра("ОбъединятьПоГоризонтали", СчетчикГрупп > 1 Или СчетчикЯчеек > 1); ПолеОбластиКомпоновкиДанных = ЯчейкаТаблицыОбластиКомпоновкиДанных.Элементы.Добавить(Тип("ПолеОбластиКомпоновкиДанных")); ПолеОбластиКомпоновкиДанных.Значение = "Тестовое значение"; КонецЦикла; КонецЦикла; ОписаниеМакетаОбластиМакетаКомпоновкиДанных.Макет = МакетОбластиКомпоновкиДанных; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЦикла; ЭлементРезультата = Новый ЭлементРезультатаКомпоновкиДанных; ЭлементРезультата.ТипЭлемента = ТипЭлементаРезультатаКомпоновкиДанных.Конец; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); Результат = ПроцессорВывода.ЗакончитьВывод(); Результат.Показать(); КонецПроцедуры https://www.dropbox.com/s/k5sfch2r092ctqk/ТриГруппыОднаЯчейка.png Вот так выводится, если 1 ячейка. Т.е. она выводится 3 раза и результат объединяется. https://www.dropbox.com/s/cafs3ov9rtihxuo/ТриГруппыТриЯчейки.png А вот так выводятся 3 ячейки. Надо чтоб все 9 ячеек были объединены. Кто-нибудь сталкивался? |
|||
1
Armando
07.07.14
✎
16:48
|
Первая ссылка сломалась
https://www.dropbox.com/s/k5sfch2r092ctqk/ТриГруппыОднаЯчейка.png |
|||
2
Armando
08.07.14
✎
11:30
|
Никто не в курсе?
|
|||
3
samozvanec
08.07.14
✎
11:43
|
не понял, что ты объединить хочешь?
|
|||
4
Armando
08.07.14
✎
11:48
|
(3) Ячейки. Надо чтоб все 9 ячеек были объединены.
|
|||
5
samozvanec
08.07.14
✎
11:53
|
(4) ну если в макете, то объедини прям в макете заранее, а так - после формирования что мешает? вообще непонятно, зачем ты в макете это делаешь
|
|||
6
Armando
08.07.14
✎
12:05
|
(5) Что значит заранее?
После формирования ничего не мешает, надо чтоб процессор вывода сам это сделал, а он не хочет. Это просто пример, что у меня не получается. Либо ошибка в платформе. В реале хочу сделать универсальный механизм для отчетов на СКД, чтоб группировки колонок накрывались объединенной шапкой от родительской группировки. |
|||
7
samozvanec
08.07.14
✎
14:29
|
(6) заранее значит на закладке Макет. а шапку объединить - попробуй поиграть с настройками, там группы есть. универсальный механизм не особо представляю. ладно бы шаблон формы, но схему...
|
|||
8
Armando
08.07.14
✎
14:37
|
(7) Нет никакой закладки Макет. Нет схемы компоновки, нет настроек. Есть только процессор вывода и элементы результата. В (0) весь код.
|
|||
9
kittystark
09.07.14
✎
14:44
|
делай свои объединяшки после ПроцессорВывода.ЗакончитьВывод()
у скд "свои индексы" строки/колонки в которых будет выводиться очередной кусочек-макет, который может состоять и не из одной строки/колонки попробуй без своих дописок после ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата) вызвать ЭлементРезультата.Показать, может чего нового увидишь |
|||
10
Armando
09.07.14
✎
14:47
|
(9) "делай свои объединяшки после ПроцессорВывода.ЗакончитьВывод()"
Это я умею. Хочу подружиться с процессором вывода, а он со мной не хочет. "у скд "свои индексы" строки/колонки в которых будет выводиться очередной кусочек-макет, который может состоять и не из одной строки/колонки" знаю. только не понял к чему это "попробуй без своих дописок после ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата) вызвать ЭлементРезультата.Показать, может чего нового увидишь" Видел уже |
|||
11
Armando
15.07.14
✎
20:14
|
Кароч, это ошибка в платформе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |