Version 1 (modified by msawkiewicz, 7 years ago) |
---|
Podręcznik użytkownika > Raporty > Raporty z podraportami
Raporty z podraportami
Raporty w systemie eDokumenty mogą składać się z podraportów wyświetlanych po kliknięciu ikony + na liście. Przykładem takiego raportu może być zestawienia sprzedaży rocznej z podziałem na miesiące.
Do utworzenia raportu z podraportami potrzebne są co najmniej dwa raporty - podrzędny i nadrzędny. Dane wyświetlane jako podraporty pobierane są z raportu nadrzędnego.
Aby utworzyć raport z podraportami:
- w zakładce Kolumny okna edycji raportu nadrzędnego w komórce w kolumnie Parametry wpisujemy {"drilldown":{"rep_id":192}} - gdzie 192 jest rep_id raportu podrzędnego.
- w kwerendzie SQL dodajemy wynik zwracający daną której należy nadać alias - najlepiej dla odróżnienia - dużymi literami. Kolumna wyniku powinna być typu text.
- w raporcie podrzędnym definiujemy warunek filtrowania odwołujący się do nazwy przekazanego parametru z kluczem w raporcie nadrzędnym w formie {NAZWA_KOLUMNY}
- nie należy wyświetlać kolumn będących parametrami gdyż jako parametry przekazywane są tylko niewyświetlane kolumny raportu nadrzędnego.
Przykład
Aby utworzyć raport ze sprzedaży rocznej z podraportami zawierającymi dane z każdego miesiąca (z raportu podrzędnego o ID 274), wpisujemy w rekordzie z nazwą kolumny month, w kolumnie Parametry raportu nadrzędnego: {"drilldown":{"rep_id":274}}. W kwerendzie raportu podrzędnego zamieścimy wpis WHERE to_char(v.seldat, 'YYYY-MM') = '{MON}', gdzie MON jest kolumną w raporcie nadrzędnym. Otrzymamy w ten sposób raport nadrzędny z podraportami, jak na poniższym rysunku.
Przykładowy raport z podraportami
Odświeżanie raportu
Funkcja odświeżania raportu wywołanego jako drilldown dostępna jest od wersji 5.0.77. Dla przykładu niech posłuży wywołanie podraportu, który zawiera szablon flexy i posiada definicję przycisków. Chcielibyśmy aby po wykonaniu akcji na przyciskach odświeżył się tylko wskazany raport drilldown.
Aby tego dokonać należy przekazać parametr:
{params[DRILLDOWN_REFRESH]}
do atrybutu afterSubmit lub żądanego miejsca w kodzie szablonu flexy.
Uwaga
Podraporty nie będą rozwijane, jeśli w zakładce Definicje w kartotece raportu nadrzędnego wybrano wykres.