Version 3 (modified by TS, 8 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.