Страница 1 из 1

Вопрос по созданию отчета

Добавлено: 21 фев 2022, 12:10
dmpyatin
Добрый день. Появился вопрос по созданию отчета.

Есть набор записей в Data:

Код: Выделить всё

TagId TagName EntryId EntryName EntryDataId EntryData SomeTagInfo
1	t1	1	e1	1		text1 	some tag info t1
1	t1	2	e2	null		null  	some tag info t1
2	t2	3	e3	2		text2 	some tag info t2
2	t2	4	e4	null		null  	some tag info t2
3	t3	5	e5	null		null  	some tag info t3
3	t3	6	e6	null		null  	some tag info t3
Требуется создать отчет следующей структуры (на изображении по ссылке):
https://ibb.co/ZfhJ68P

General entry data может быть только у одной записи для каждого тэга, и
должна отображаться после всех записей тэга.

Проблема в том, что если General entry data не отображается, то
Some tag info должно подняться на верх, поэтому их нельзя помещать в один GroupFooterBand

Я придумал следующее решение (на изображении по ссылке):
https://ibb.co/nk9GLGN

Решение выдает требуемый результат
В нем используется функция

Код: Выделить всё

First(DataBand,Data.EntryDataId)
First(DataBand,Data.EntryData)
Правильно ли я понимаю, что в рассматриваемом случае эта функция должна выдавать первую запись в пределах группы по Тэгу?

Допустимо ли добавление вспомогательного GroupHeaderBand по TagId?

Re: Вопрос по созданию отчета

Добавлено: 23 фев 2022, 00:48
Aleksey
Здравствуйте,

Вопрос по EntryData, всегда может быть только первое значение? А если будет первое в группе null и затем значение?

> Some tag info должно подняться на верх, поэтому их нельзя помещать в один GroupFooterBand

Использовать DockStyle=Top или второй текстовый разместить на Child бэнде, и задать CanShrink=true

Спасибо.

Re: Вопрос по созданию отчета

Добавлено: 23 фев 2022, 13:59
dmpyatin
Aleksey, добрый день! Большое спасибо за помощь.
Уже нашли проблему, если первый элемент = null. Сейчас решаем установкой всей группе этого элемента на сервере (есть ли возможность пропускать null записи в First?)
Остается вопрос будет ли функцией First выбран элемент только в пределах группы? Можно ли не использовать функцию First и
вместо

Код: Выделить всё

First(DataBand,Data.EntryData)
писать

Код: Выделить всё

Data.EntryData

Re: Вопрос по созданию отчета

Добавлено: 23 фев 2022, 17:27
Aleksey
Здравствуйте,

Можно просто указать Data.EntryData, будет взят первый элемент в пределах группы.

Спасибо.