Workshop:Integration von JasperReports in ADempiere

From ADempiere
Revision as of 04:13, 9 June 2008 by Kthiemann (Talk) (typo)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Einführung

Dieser Workshop fand auf dem Linuxtag 2008 statt und wurde von User:nwessel gehalten. Ziel war es, Know-How über Jasper in die Deutsche Community zu bringen.

Voraussetzung

Ziel

Austauschen des Standardberichts für einen Verkaufsbericht durch einen JasperReport

Vorgehensweise

Jasper Bericht erstellen

  • Header Report: Assistenten starten
  • Datenquelle mit dem org.postgresql.Driver anlegen
query: select * from c_order;
  • Felder c_order_id und description hinzufügen
  • testen ohne Datenquelle mit "Bericht starten"
  • testen mit Datenquelle mit "Bericht starten (Aktive Verbindung nutzen)"
  • Parameter "c_order_id" hinzufügen
    • haken bei interaktiv abfragen um testen zu können
  • Paramenter in Datenquelle übernehmen
    • where c_order_id = $P{c_order_id}
  • Felder in PageHeader rücken
  • Header Report in ADempiere hochladen
  • Subreport anlegen
    • Icon Subreport anklicken
    • Bereich für Subreport malen
    • neuen Bericht erstellen
    • Query: Select * from c_orderline;
    • Felder raussuchen
    • wichtig: Tabellen Layout
    • Parameter C_order_id anlegen
    • Paramenter in SQL Query eintragen (über Report Anfrage)
  • Verknüpfung zwischen Header und Sub über Doppelklick auf Subreport im Header Report
    • Reiter Subreport (anderer)
      • Parameter in Feld "Ausdruck für Unterreport" eintragen, der genauso heißt wie die Datei ohne .jasper
        • Parameter anlegen wie Datei ohne .jasper (Beispiel: "adempiere_report_linux_subreport") mit String
      • auf "..." klicken um c_order_id als Subreport-Parameter zu übergeben
        • auf Box klicken und c_order_id aus Parameterlist aussuchen
  • Im Header Report den Parameter Subreport_Dir löschen
  • Page Footer im Subreport einfügen unter Ansicht => Abschnitte
    • pageFooter von 0 auf 100 setzen
  • Subreport in ADempiere hochladen

Einbindung in ADempiere

  • System Admin: Reports & processes öffnen
  • neuen Prozess anlegen
    • Show help: Bei Belegen muss hier Run silently - Take Defaults stehen
    • JasperReport: Hier steht der JasperReport als angehängtes Attachments in der Syntax "attachment:"<Dateiname>
      • anderer prefix kann z.B. http sein
      • ressource: erwartet kompilierte .jar Datei im Adempiere lib-Verzeichnis
  • an den Prozess sämtliche Attachments wie .jasper file hinterlegen
  • an den Prozess eine leer Datei namens Berichtsname_en_US.properties hängen
  • in Tab Parameter wechseln
    • DB Column Name: enthält den DB-Spaltenname in klartext
    • System Element: enthält AD_element, das übergeben werden soll
    • Reference: String einstellen
    • Default Logic: Enthält System Element Name mit der Syntax "@"<system element>"@"
    • wichtig: groß und kleinschreibung bei Systemelement beachten!
  • In Mandant wechseln =>System Admin =>General Rules => Printing => Print Format
  • Neuen Orderheader anlegen
    • in Feld Jasper Process den vorher definierten Prozess hinterlegen
    • Tablenamen übernehmen
  • Druckformat in DocType in Feld Print Format das neue Druckformat hinterlegen