Отображение неоднородных данных в detail data

Добрый день, необходимо сделать отчет следующего вида:
master data - датасет документов;
detail data - датасет задач по документу.

Если задача с типом "А", то вывести запись с одними атрибутами, если же задача с типом "Б", то с другими атрибутами. Все задачи выводятся одним, отсортированным по заголовку, списком.

Пример:
форма отчета

Вопрос: как организовать detail data, чтобы задачи были в одном списке, но по-разному отображались?

Нравится

4 комментария

как вариант
IIF(<ДатасетЗадача."Тип"> = 'Тип А', <ДатасетЗадача."Атрибут 1">, IIF(<ДатасетЗадача."Тип"> = 'Тип Б', <ДатасетЗадача."Атрибут 4">))

а вот как разделить ячейки по условию - это вопрос

Спасибо, часть задачи решена!
Осталось понять, как в зависимости от условия делать невидимыми некоторые элементы отчета. В самом элементе есть свойство "Visible", однако как до него добраться из expression?

наверно, надо добавить событие OnBeforePrint на скрываемую ячейку и там написать if(тип б) Sender.IsVisible = true; else Sender.IsVisible = false;

Здравствуйте, Олег!

Для этого можно воспользоваться стандартными средствами FastReport - у полей вывода данный есть свойство Hide Zeros. Если его установить в true, то при пустых значениях из БД элемент не выводится.

Показать все комментарии