Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вложенные отчеты / 20 сообщений из 20, страница 1 из 1
13.11.2003, 09:22
    #32322411
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Вопрос следующий: можно ли как-то заставить DW (табулярного стиля) менять вложенные отчеты в Detail-области в зависимости от какого-либо условия для конкретной строки? Самый простой вариант - для четных и нечетных строк. То же - для композтного отчета. Билдер - 9.0.1
...
Рейтинг: 0 / 0
13.11.2003, 10:17
    #32322487
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
dw_1.Object.dw_report_1.DataObject = "d_report_1"
...
Рейтинг: 0 / 0
13.11.2003, 10:23
    #32322495
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
dw_1.Object.dw_report_1.DataObject = "d_report_1"
И что - это будет работать для каждой записи ? Если это так, то я еще раз шляпу сниму перед PB.
...
Рейтинг: 0 / 0
13.11.2003, 10:47
    #32322538
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
dw_1.Object.dw_report_1.DataObject = "d_report_1"

Вряд ли будет работать, он же для всего DW меняет свойство.

Хотя... если это поставить в retriverow и ручками заполнять вложенный отчет для каждой строки... Сомневаюсь, но можно попробовать.
...
Рейтинг: 0 / 0
13.11.2003, 10:54
    #32322552
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
in еvent rowfocuschanged for DataWindow Control
add script

if mod(currentrow , 2) = 0 then
this.object.dw_1.dataobject = "d_theme_2_test"
Else
this.object.dw_1.dataobject = "d_theme_1_test"

End If
This.Retrieve()
...
Рейтинг: 0 / 0
13.11.2003, 10:55
    #32322556
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Andyn
Не для всего а только для вложеного отчета
...
Рейтинг: 0 / 0
13.11.2003, 10:58
    #32322560
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
script повторно извиняюсь за цвет

if mod(currentrow , 2) = 0 then
this.object.dw_1.dataobject = "d_theme_2_test"
Else
this.object.dw_1.dataobject = "d_theme_1_test"

End If
This.Retrieve()
...
Рейтинг: 0 / 0
13.11.2003, 11:06
    #32322587
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Снимаю шляпу, как и обещал :)
...
Рейтинг: 0 / 0
13.11.2003, 14:24
    #32323042
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Mykola писал:
in еvent rowfocuschanged for DataWindow Control
add script

if mod(currentrow , 2) = 0 then
this.object.dw_1.dataobject = "d_theme_2_test"
Else
this.object.dw_1.dataobject = "d_theme_1_test"

End If
This.Retrieve()


Меня терзают смутные сомнения. Retrieve внутри rowfocuschanged?

Оно, конечно, работает... Только вот при переходе со строки на строку меняется вложенный отчет у всех строк, что не совсем то, что я хотел.
...
Рейтинг: 0 / 0
13.11.2003, 14:40
    #32323077
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Можна изменять Criteria для вложенного отчета.
Уточните вопрос, если не трудно.
И зачем это делать в одном DW, если можна использовать Master - Detail и все вопросы решаться
...
Рейтинг: 0 / 0
13.11.2003, 14:57
    #32323110
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Это нужно, чтобы сформировать отчет, с детализацией в зависимости от некоторых условий в строке.

Собственно говоря, есть и другие решения этой проблемы, например:

Сделать 2 (3, 4..N) вложенных отчетов в Detail области и в их условиях where предусмотреть возможность возвращения пустого result-set. Все отчеты поставить друг под другом и установить slide above. В зависимости от условий в строке должен быть только один (или несколько) не пустых вложенных отчетов. У Detail установить минимальную высоту и autosize height. Тогда DW автоматически покажет то, что нужно.

Проверено, работает. Просто в данном случае серверу приходится выполнять больше запросов, чем если бы выполнялся только один нужный.
...
Рейтинг: 0 / 0
17.11.2003, 08:06
    #32325801
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
К сожалению, вопрос остается открытым. Я понимаю, что, в принципе, можно такой отчет формировать вручную, в отдельных DW и по очереди отправлять их на печать в одном печатном задании, но и тут есть свои минусы.

Остается только задать вопрос напрямую Филиппу - может быть он что-то посоветует.

То Филипп:

Можно ли как-то заставить DW менять содержимое вложенного отчета в Detail-области в зависимости от условия для конкретной строки?
...
Рейтинг: 0 / 0
17.11.2003, 14:59
    #32326323
Механик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
А нельзя ли для "вложенных отчётов" использовать как аргументы данные строки основного. Я так делал... хотя, если картинки должны быть разные, то попыхтеть прийдётся...
...
Рейтинг: 0 / 0
17.11.2003, 18:52
    #32326740
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Моя РВ карьера до сих пор была очень везучей - практически не имел дела с отчётами :-)
Тем не менее, Механик абсолютно прав. Суть nested report objects именно в том, что они должны показывать разные вещи в разных рядах, используя как аргументы данные ряда "родителя".
Если картинки должны быть разные, то зависит от того, насколько разные.
Если правильно сконструировать result set и навешать разнообразных expressions на визуальные характеристики, базирующиеся только на значения из result set, то может и выйдет...
...
Рейтинг: 0 / 0
18.11.2003, 14:27
    #32327515
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Картинки принципиально разные, вплоть до того, что данные берутся из разных таблиц, так что обработкой expression не обойдешься. Плохо что для вложенного отчета нельзя сделать SetFullState, тогда проблема бы решалась достаточно просто.
...
Рейтинг: 0 / 0
18.11.2003, 18:36
    #32327900
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Тогда, Andyn , парадигму нужно менять :-)
...
Рейтинг: 0 / 0
18.11.2003, 21:49
    #32328028
Механик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Можно делать по-дубовому. Один вложенный в зависимости от данных показывать, а остальные скрывать (располагая на одном и том же месте и передавая им какие-нить аргумент, чтобы результат был без данных, а то высота строки может быть великовата для данных показываемого встроенного). Тогда и с картинками париться не прийдётся... Собственно старый способ...
...
Рейтинг: 0 / 0
18.11.2003, 23:20
    #32328051
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Да, Механик, можно, но с учётом того, что их столько, сколько рядов, помноженное на количество слоёв друг над другом - это безумие...
...
Рейтинг: 0 / 0
19.11.2003, 07:00
    #32328102
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Механик \r
\r
Собственно говоря, пока что я так и делаю, благо отчет небольшой, но кто знает, как потом будет. Если что-нибудь придумаю - поделюсь опытом. :)
...
Рейтинг: 0 / 0
19.11.2003, 14:07
    #32328723
Механик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенные отчеты
Ну я ж говорю - по дубовому...
Хотя, такие сложные отчёты, как правило результирующие, и не должны содержать большого количества данных. А потому ничего страшного тут нет.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вложенные отчеты / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]