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

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

Хотя... если это поставить в retriverow и ручками заполнять вложенный отчет для каждой строки... Сомневаюсь, но можно попробовать.
...
Рейтинг: 0 / 0
Вложенные отчеты
    #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
Вложенные отчеты
    #32322556
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andyn
Не для всего а только для вложеного отчета
...
Рейтинг: 0 / 0
Вложенные отчеты
    #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
Вложенные отчеты
    #32322587
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снимаю шляпу, как и обещал :)
...
Рейтинг: 0 / 0
Вложенные отчеты
    #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
Вложенные отчеты
    #32323077
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можна изменять Criteria для вложенного отчета.
Уточните вопрос, если не трудно.
И зачем это делать в одном DW, если можна использовать Master - Detail и все вопросы решаться
...
Рейтинг: 0 / 0
Вложенные отчеты
    #32323110
Andyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это нужно, чтобы сформировать отчет, с детализацией в зависимости от некоторых условий в строке.

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

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

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

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

То Филипп:

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


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