The Report Designer Fast Reports for Odoo 10 / 11

Video of Fast Reports online on Youtube
The Report Designer Fast Reports for Odoo 10 / 11
Equitania Team

In Odoo 8 hatten wir den Report Designer Pentaho verwendet und mit diesem unsere gesamten Reports aufgebaut. Odoo in der Version 10 bietet leider nicht mehr die Möglichkeit diese Report Engine zu verwenden. Deswegen haben wir uns für den Aufbau unserer Reports mit Fast Reports entschieden. 

Wie auch mit Pentaho ist es in Fast Reports für unsere Kunden ganz einfach kleinere Anpassungen an den Reports ohne Programmierkenntnisse selbst durchzuführen. Dies ist im Odoo Standard mit der QWeb-Technologie ebenfalls nicht möglich. 

Nach erfolgreicher Installation kann in den Berichtstypen nun unter anderem auch der Typ Fast Report ausgewählt werden: 

Typ Fast Report
So sieht der Fast Report WYSIWYG Designer aus:

So sieht der Fast Report WYSIWYG Designer aus:

Es gibt auch einen Online Designer von Fast Reports, den Sie über Odoo direkt erreichen können . Dieser bietet jedoch nicht exakt den gleichen Leistungsumfang der lokalen Installation. 

Weiterführende Informationen zu Fast Reports: https://www.fast-report.com/de/

 
 

Das Video finden Sie außerdem auch direkt bei Youtube: https://youtu.be/2JCIMxX0xGw

Den Inhalt des Videos auch als Transkript in diesem Blogeintrag:

Guten Tag, mein Name ist Martin Schmid von der Equitania Software GmbH und ich möchte Ihnen heute unsere Preview vorstellen, die Integration von Fast Report in Odoo.

Das größte Problem wenn man mit Myodoo arbeitet ist, dass sobald man Reports anpassen will, muss man immer zwangsläufig programmieren, was unseren Kunden meist zu viel Aufwand ist und es gibt auch keinen richtigen "What you see is what you get Editor! Vielleicht ein bisschen technischer Hintergrund. Odoo hat eine integriete Template engine, dieser nennt sich qweb. Diese qweb erzeugt eine html Seite. Diese hmtl Seite wird dann von einer Libary, die nennt sich WK PDF to html, in ein PDF gewandelt. Das ist der technische Hintergrund. Hier gibt es viele Probleme beim Seitenumbruch und und und. Vor allem wenn man was anpassen will, muss man immer programmieren. Wir hatten für Odoo 8 eine Integration von Pentao Reports. Die gibt es leider nicht mehr für Odoo 10 und deswegen aber wir uns dazu entschieden, eine proprietäre Lösung für unsere Kunden anzubieten. Diese Lösung gibt es auch nur exklusiv von uns und ich möchte Ihnen jetzt die Integration zeigen. Diese Lösung benötigt momentan einen dot net Server oder einen Rechner, auf dem das installiert ist. Wir sind aber auch am vorbereiten, um das unter dotnet core unter Docker zur Verfügung zu stellen. Was habe ich bei mir hier vorbereitet. Ich habe mir unter amazon mal einen Nanoserver installiert.

Auf diesem Nanoserver laufen zwei Webdienste. Was die machen, zeige ich gleich und ich habe hier diesen Server per Remote Deskto, hier ist der Report Designer, und auf diesem Server sind zwei Webdienste installiert. Der eine Webdienst, ist für das generieren der PDF, das ist dieser WebAPI Fast Report. Das ist ein RestAPI die wir von Odoo ansteuern und der zweite Dienst, ist dieser Fast Report Online Designer von uns. Wie der funktioniert, zeige ich gleich. Jetzt schauen wir uns das ganze erst mal an, wie das in Odoo funktioniert. Was habe ich gemacht, ich habe unser Modul installiert und sobald wir das Modul installieren, kann man unter den Berichts- typen neben den Standardtypen auch Fast Report praktisch auswählen. Wie das ganze zustande kommt, zeige ich gleich. Ich habe jetzt momentan das ganze für Produkt- template gemacht. Ich werde es dann gleich mal zeigen mit dem anderen Daten- Modell und dieser Haken für komplexe Datentypen ist, wenn man zum Beispiel einen Saleorder also ein Angebot oder so dann ist halt nicht nur eine lineare Tabelle wo eine Liste von Einträgen verarbeitet werden muss, sondern es gibt mit Untertabellen. Deswegen haben wir diese Logik hier erweitert. Es ist jetzt einfach so, dass ich es mal zeige. Ich habe hier eine Liste von Artikeln. Ich wähle jetzt einfach ein paar aus, gehe auf Druck, sehe jetzt diesen Fast Report Etikett. Das System liefert mir ein PDF zurück und dieses PDF sieht momentan so aus. Jetzt schauen wir uns das ganze mal an, dass Sie mir auch glauben, dass ich etwas verändern kann. Ich gehe jetzt auf meinem Remote Rechner und habe hier den Fast Report. Jetzt mache ich einfach mal diese Felder hier größer weil die wurde ja gerade noch abgeschnitten und Sie sehen, das ist eine sehr komfortabler Report Designer. Mache Displaynamen mal bolt, mach das hier mal kursiv und speichere es ab. Nun führe ich das gleiche nochmal aus, mach dann wieder den Druck. Mein PDF ist wiedergekommen. Rüber ziehen. Sie sehen jetzt, das ist jetzt fett, das ist kursiv.

Also Sie sehen, das ist angepasst. Ich will jetzt gar nicht so genau auf den Fast Report welche Möglichkeiten eingehen. Aber es ist ein Report Generator der eigentlich so gut wie keine Limitierung hat. Man kann zum Beispiel zwei Durchläufe durchführen lassen. Das heißt, wenn man gerade mit Umbruch arbeitet. Da weiß man ja nicht welche Position auf welcher Seite kommt, um Zwischensummen zu bilden. Es gibt sehr viele Elemente, es gibt Grafiken, man kann hier Shapes nutzen, man kann Subreports verwenden, man kann Pivot-Tabelle machen. Dann kann man verschiedenste Barcodes machen, da ist eigentlich jeder Barcode drin, den man braucht. Dann kann man so Check-boxen nutzen, es gibt Rich-Text und html-Elemente, man kann Charts verarbeiten, es gibt auch maps. Also es gibt eigentlich keine Limitierung und das geniale daran ist, man kann hier, wenn man programmieren kann und will, dann natürlich hier sehr viel in den Elementen einstellen. Man hat komplett CSharp als Entwicklungsumgebung und kann diesen Reports dann auch eine gewisse Logik geben. Wie gesagt in Kürze werden wir auch eine Variante mit dotnet core haben dass es direkt auf den Linux Server läuft. Jetzt ist der wichtigste Punkt, wie kommen denn dann die Daten auf diesen Report Server, dass Odoo sie verwenden kann? Wir haben uns für eine Lösung entschieden, die keine Datenverbindung braucht. Das heißt, wir schicken eine XML-Datei, die alles beinhaltet, an den Fast Report Server und der Fast Report Server hat hier die ganzen Felder, die dieses Datenobjektjetzt hat und kann die dann entsprechend ausdrucken. Das heißt, auf diesem Server wird, wenn ich eine Datei schicke, dann sehen Sie hier ist mein Report und hier ist jetzt diese XML-Datei. Ich mache die mal auf, dann sehen Sie, dass diese Datei, eine saubere XML-Struktur mit sich bringt, die man dann hier arbeiten kann und so wiederholt sich es halt, wenn es mehrere Datensätze sind. Und der Fast Report kriegt also die Datei geliefert. Das heißt, wenn ich jetzt hier andere Inhalte drucken möchte und dann wähle ich halt, jetzt nehmen wir mal nur diesen Datensatz, dieses Blankosystem, ich schickte es wieder an den Fast Report Server. Dieser Fast Report Server hat mir jetzt wieder diese pdf erzeugt. Ich hol die wieder rüber und Sie sehen jetzt diese Blancodatei.

Wenn ich jetzt auf diesem Server hier nach gucke, dann hat sich dies Datei jetzt gerade geändert und dann sehen Sie, dass jetzt nur diese eine Plastikkarte, also nur ein Datensatz der übermittelt worden ist. Jetzt gibt es auch die Möglichkeit, wenn man jetzt nicht einen Remote Desktop hat, dass man den Report auch direkt im Browser editieren kann. Das macht nämlich der Designer. Das zeigen jetzt mal. Ich habe also hier mein Fast Report. Nun starte ich einfach den Designer. Es geht ein Online- dienst auf und ich habe jetzt auch mein Fast Report Dienst hier. Das heißt, das ist der gleiche Designer. Der kann zwar jetzt nicht so viel, also programmieren kann eher begrenzt. Wir können denn auch erweitern und anpassen aber also die wichtigsten Dinge kann man dort auch einstellen. Der Aufbau der Komponenten ist ein bisschen anders wie sie sehen. Also ich mache jetzt einfach mal diesen Default-Code blau und fett und kann jetzt auch das ganze ein bisschen größer machen, dass man den Unterschied sieht. Ich unterstreiche es noch. Das heißt ich kann dann den Report auch anpassen und kann mir den schon im Browser anschauen. Das heißt ich kann mir das Ergebnis dann schon gleich anschauen. Wenn man jetzt hier auf diesen Server schaut, dann sieht man, dass sich diese Datei jetzt auch grade geändert hat. Das heißt, diese Datei hatte ich ja gerade vorhin offen. Das ist jetzt noch die alte Datei. Wenn ich die jetzt aber aktualisiere, dann sehen Sie auch, das wurde von diesem Onlinedienst auch geändert. Ich würde sagen beim Beginn eines Reports ist man mit diesem Windows Client ganz gut bedient, weil ein bisschen komfortabler ist, aber wenn man mal schnell Änderungen durchführen will, dann kann man das natürlich auch hier machen in dem Browser. Der große Vorteil ist, der Fast Report kann extrem viel. Der kann auch, wenn man die Ausgabeformate sich mal anschaut, der kann sehr viele Ausgabeformate. Der kann also nicht nur eine PDF, sondern der kann uns eine Excelsheet, ein Word-Dokument, eine Powerpoint, ein Rich text... also sehr viele. Oder auch eine CSV-Datei zurückliefern. Es gibt auch Möglichkeiten zum Beispiel Zugpferd- Dateien zu signieren und und und. Wenn es einem nicht reicht, kann man das ganze natürlich noch erweitern.

Jetzt zeige ich mal, wie man von Grund auf mit so einem Report arbeitet, wie man anfängt damit. Das heißt ich habe das Modul installiert und bei dem Modul werden 2 Systemparameter gesetzt. Das heißt, das ist jetzt die dynamische IP-Adresse wo ich bei amazon Web Service bekommen habe. Da geb ich halt diese WebAPI an und dann hier diesen Designer und wird noch ein dynamischer Parameter dann übergeben mit dem Reportnamen, dass er den Reportnamen dann auch richtig auf macht. Das ist eigentlich alles was ich angeben muss, wenn ich das Modul installiert habe. Jetzt muss man sich schon ein bisschen mit den Odoo Daten- modellen auskennen. Das heißt, ich mache jetzt mal einen Report: Eine Liste von Kunden. Das heißt, ich weiß jetzt, wenn ich hier eine Liste machen will von diesen Kunden, dann muss ich das Datenmodell Rees Partner wählen. Das kann ich mir einfach hier heraus kopieren und dann gehe ich jetzt hier rein, mach da mal verwerfen und sage, ich lege einen neuen an. Das heißt, ich gehe jetzt hierher, wähle jetzt wieder Fast Report, sage dann, das ist jetzt mein Fast Report Kundenliste. Dann übergebe ich dieses Datenmodell - Der Vorlagenname mache ich einheitlich - ich nenne das rees_partner und die Kürzel von Fast Report frx. Als Resultat sage ich Kundenliste und hier habe ich auch keine komplexe Daten, deswegen reicht es, wenn ich das so angebe und dann mache ich einfach diesen Druckbutton noch. Das ist der erste Schritt den ich machen muss. Wie gesagt, die Schritte ist eine einmalige Aktion.

Dann gehe ich auf meine Kundenliste und wenn ich das jetzt hier anwähle, dann kann ich das jetzt noch nicht drucken da gibt es noch fällige Zahlungen. Dann mache ich jetzt einfach mal hier ein Reload. Und nachdem ich den Reload gemacht habe, kann ich jetzt einen Kunden auswählen, kann jetzt hier Druck - Fast Report Kundenliste. Beim ersten Aufruf, wenn es den Report noch nicht gibt, wird jetzt eine Fehlermeldung kommen, weil er sagt jetzt, diesen Report gibt es nicht. Das heißt ich gehe beim ersten Aufruf auf meinem Server und werde jetzt in diesem Ordner sehen, dass er mir diese XML-Datei hier geliefert hat. Das heißt ich kann die gerade mal eröffnen und dann sehen wir jetzt diese XML-Datei hat diesen Kunden CMC-Klebetechnik hier übertragen. Dann gehe ich in mein Fast Report und mache einen neuen Report und benutze diesen Wizard. Da gibt es dann verschiedene Wizards. Dann sage ich "Add" und dann sage ich, ich brauche eine neue Datenquelle und er hat sich das schon gemerkt also ich sag jetzt hier eine Connection, ich möchte eine XML-Database haben und ich suche mir die Datei raus, kann die Connection testen Die war erfolgreich. Dann gehe ich hier weiter. Wie gesagt das muss ich nur beim ersten mal mache. Dann kann ich sagen, alle Felder die ich hier habe, möchte ich auch im Report verwenden und das ist jetzt die Connection und dann sage ich als erstes möchte ich jetzt mal den Namen. Ich kann nachher mehr Felder auswählen aber um das mal hier zu zeigen.. So ich nehme den Namen, dann nehme ich den Zip. Das sind also die gleichen Felder, die man auch im Odoo System dann hat. Sollte jetzt auch reichen. Jetzt könnte ich noch gruppieren. Ich will nicht gruppieren.

Dann kann ich sagen, hier über Layouts, das kann die nachher noch alles ändern. Dann kann ich zum Beispiel auch so verschiedene Farbschemen wählen. Da nehmen wir mal das grüne um das hier zu zeigen. Und jetzt hat er mir mein Report. Den kann ich jetzt auch sofort anschauen und hier ist die CMC Klebetechnik in Frankenthal. Dann speichere ich diesen Report ab und Sie erinnern sich, dass ich diesem Report hier den Namen gegeben habe. Der Report soll heißen rees_partner und ich sag dann hier auch als rees_Partner und speicherten ab. Das war's eigentlich schon was ich machen musste. Ich könnte jetzt ein Reporter anpassen. Jetzt sagen wir mal hier das soll fett sein und dann speicher ist noch mal ab. Jetzt gehe ich wieder in meinem Kunden rein und markiere jetzt mit Absicht mal nicht die Klebetechnik, sondern diese Firmen. Gehe auf Druck Fast Report Kundenliste. Ich habe die jetzt erzeugt. Sie sehen auch der Name wird jetzt hier erzeugt. Jetzt hole ich diesen Report hier rüber und Sie sehen, hier ist meine Kundenliste. Und jetzt kann ich natürlich auch wiederum den Designer hier benutzen. Das heißt, ich gehe hier drauf, er macht mir online den Designer auf, er macht mir auch den Report auf. Ich kann diesen Report hier auch mir hier anschauen. Wie gesagt, er benutzt immer die Daten, die zuletzt übertragen worden sind an den Report.

So habe ich jetzt zum ersten mal einen Reportdesigner, wo ich entweder mit einem Windows client übertragen kann oder auch online das ganze hier benutzen kann. Es gibt hier noch 1000 Möglichkeiten. Man kann hier auch Dialoge benutzen. Das heißt man könnte jetzt auch Abfragen in den Report einbauen. Wer sich dafür interessiert, am besten mal die Homepage von Fast Report angucken. Ich zeigt gerade nochmal die Homepage von Fast Report. Wie gesagt, dieser Berichtgenerator, da gibt es hier auch umfangreiche Dokumentationen. Wenn sie bei uns Kunde sind mit dem Softwarepflegevertrag, dann müssen sie jetzt nicht Fast Report kaufen. Das haben wir lizenziert und Sie sehen, da gibt es auch ein deutsches Handbuch mit umfangreicher Anleitung wie dieser Fast Report dann funktioniert. Also sehr umfangreich und es ist exklusiv nur von Equitania über Odoo zu beziehen.

Dann bedanke ich mich für Ihre Aufmerksamkeit und würde mich freuen wenn wir zum Thema Fast Report oder andere Odoo Themen in Kontakt treten könnten..