Druckfertige Berichte für Microsoft Dynamics 365 Project Service Automation (PSA) erstellen

22. Februar 2022

PROLAN verwendet zur internen Abwicklung des Vertriebs- und Projektgeschäfts die Dynamics 365 Project Service Automation (PSA) App von Microsoft. Angefangen von der Erfassung der Leads über die Erstellung der Verkaufschancen und Angebote bis hin zu gewonnen Verträgen werden alle für uns relevanten Daten in einer Applikation erfasst und verwaltet. Die gewonnen Verträge überführen wir in Kundenprojekte zu denen wir Budgets, Aufgaben und Ressourcen verwalten und die zur Umsetzung aufgewendeten Zeiten erfassen. Somit stehen uns auch alle relevanten Daten zur Verfügung, um Kundenprojekte aus PSA heraus abzurechnen.

Zum Auswerten der Daten im Hinblick auf Projekt-Performance, Vertriebserfolge und Finanzkennzahlen nutzen wir die Möglichkeiten von Power BI. So wurden zu jedem Themenbereich interaktive Dashboards erstellt, die die Daten aus PSA aggregieren, visualisieren und dem Anwender in der Power BI Cloud bereitstellen.

Für die Korrespondenz mit Kunden hinsichtlich Angebote, Aufträge und Rechnungen werden nach wie vor Dokumente in A4 Format benötigt. Selbst wenn diese digital ausgetauscht werden, müssen sie zunächst erstellt und in pdf gerendert werden. Die Berichte sollen dazu direkt nach Eingabe der Daten in PSA zur Verfügung stehen. Somit kam die Power BI Lösung mit zeitgesteuerter Datenaktualisierung nicht in Frage. Stattdessen haben wir die Möglichkeiten der SQL-Server Reporting Services (SSRS) bzw. des Report Builders genutzt.

Voraussetzungen

Reporting Services wurden ursprünglich mit dem SQL-Server ausgeliefert und sind seit Jahre in vielen Unternehmensanwendungen im Einsatz. Im Zusammenhang mit Dynamics D365 online oder der Power Cloud können SSRS Berichte auch unabhängig vom SQL-Server erstellt und ausgeführt werden.
Für die Berichtserstellung ist eine Visual Studio Data Tools Installation mit den Microsoft Dynamics 365 Report Authoring Extension notwendig. In unserem Fall haben wir eine Visual Studio Community 2019 Version verwendet. Die Data Tools werden über die Erweiterung „Datenspeicherung und -verarbeitung“ hinzugefügt.

Um SSRS-Berichte nach Dynamics 365 hochzuladen, müssen als Datenquelle Fetch-XML Abfragen verwendet werden. Im Reporting Services Standard kann diese Art der Datenquelle jedoch nicht ausgewählt werden. Aus diesem Grund müssen zusätzlich die Report Authering Extensions installiert werden.

Umsetzung

Der PROLAN-interne Vertriebsprozess ist vollständig im Dynamics 365 Sales Cycle abgebildet. Insofern wird jedes potenziell neue Kundenprojekt in PSA gepflegt und nachverfolgt. In der Angebotsphase wird aus einer bestehenden Verkaufschance ein Angebot erzeugt. Die Kalkulation der Umsetzungsschritte findet ebenfalls in PSA statt. Somit sind alle Informationen zum Kunden und den angebotenen Positionen in Project Service vorhanden. Für die Erstellung druckfertiger Angebotsdokumente wurde in der Vergangenheit die Informationen zeitaufwändig nach Excel oder Word kopiert um anschließend das pdf zu generieren und an den Kunden zu schicken.
Ziel der Umsetzung sollte die Optimierung der Angebotserstellung sein. Sobald die Kalkulation abgeschlossen und alle Daten im CRM hinterlegt sind, soll per „Knopfdruck“ das Angebot im Corporate Design als pdf gerendert werden.

Reporting Service Projekt erstellen

Zunächst wird das Berichtsserverprojekt erstellt, welches in der Zukunft alle Berichte für die Dynamics 365 Umgebung beinhalten soll. In Visual Studio 2019 wird als neuer Projekttyp „Berichtsserverprojekt“ ausgewählt:

 

Anschließend kann ein neuer Bericht zum Projekt hinzugefügt werden.

Datenquelle und Dataset definieren

Die Veröffentlichung des Berichtes in Dynamics 365 erfolgt durch Hochladen der rdl-Datei in die Berichts-Entität. Somit müssen alle Datenquellen und Datasets im Bericht definiert werden. Beim Verweis auf freigegebene Datenquellen / Datensets schlägt der spätere Import nach D365 fehl.
Als Datenquelle muss der Typ „Microsoft Dynamics 365 Fetch“ ausgewählt werden. Als Verbindungszeichenfolge wird die URL der Dynamics-Umgebung eingegeben. Die Authentifizierungsmethode muss auf integrierte Sicherheit gestellt werden.

Die Datasets werden anschließend als FetchXML-Abfragen erstellt. Für das Beispiel Angebotsdokument sind Daten aus der Quote und der QuoteLineDetail-Entität relevant. Da Angebotskopf und Angebotspositionen in jeweils unterschiedlicher Granularität dargestellt werden, müsse zwei Datsets erstellt werden. Für das Angebot können die Stammdaten folgendermaßen abgefragt werden.

Für die Erstellung von Fetch-XML-Abfragen empfehlen wir die Verwendung der XrmToolbox (Home · XrmToolBox) mit dem Tool „FetchXML Builder“.

Eine Besonderheit in der Abfrage ist die Filterbedingung hinter der ‚Quote‘ Entität

Diese Bedingung erstellt den SSRS-Parameter „Param_QuoteID“ und übergibt die Guid-ID des ausgewählten Angebots aus Dynamics 365 an den Bericht. Somit werden bei Ausführung die Berichtsdaten auf das Angebot gefiltert, dass bei der Erstellung des Berichtes ausgewählt ist.

Berichtslayout erstellen

Zur Generierung eines pixelgenauen Berichts sind einige Vorüberlegungen zu treffen. Da das Druck- oder Render-Format A4 Hochkant entsprechen soll, müssen die Berichtseigenschaften entsprechend eingestellt werden. Eine A4 Seite hat die Größe 21 cm x 29,7 cm. Der linke Rand soll 2cm, der rechte Rand 1 cm betragen.

 

Oberer und unterer Rand werden nicht über die Eigenschaften eingestellt, sondern später im Berichtslayout durch Objekte definiert. Die eigentliche Berichtsseite hat damit eine Breite 17,5 cm, während die Höhe sich variabel anhand der hinzugefügten Berichtsobjekte ergibt.

Die Berichtsgestaltung sollte der eines klassischen Angebotsdokument mit folgenden Elementen folgen:

  • Kopfzeile mit PROLAN-Logo
  • Absender in einer Zeile
  • Adresse und Ansprechpartner des Kunden
  • Stammdaten des Angebots wie Angebotsnummer und Referenz des Kunden
  • Auflistung der Angebotspositionen mit Menge, Preis und Positionsbetrag
  • Angebotssumme
  • Disclaimer
  • Unterschriftsbereich
  • Fußzeile analog Impressum

 

Das Layout konnte komplett mit Berichtselementen Tabelle, Textfeld, Rechteck und Bild umgesetzt werden. Für korrektes Rendering ist die millimetergenaue Definition aller Objekte Voraussetzung. Insofern wurden Größe und Position jeweils einzeln bestimmt.

Außerdem werden in unseres SSRS Berichten jedes hinzugefügte Element nach einer festgelegten Notation umbenannt (Bsp.: „Txt_Header_Beschreibung“ für ein Textfeld in der Überschrift einer Tabelle namens Beschreibung). Damit ist die zielgerichtete Navigation zu jedem Objekt auch bei umfangreichen Berichten problemlos möglich.

 

Bericht in Dynamics 365 einbinden

Nach umfangreichen Tests kann der Bericht im Visual Studio erstellt werden. Dabei wird die rdl-Datei im Build-Verzeichnis des Projektes gespeichert. Diese Datei muss im nächsten Schritt nach Dynamics 365 importiert werden.
Dazu wird in der Report-Entität ein neuer Datensatz hinzugefügt. Als Report-Typ wird „Existing File“ gewählt, die rdl-Datei wird ausgewählt. Damit der Bericht aus dem Angebot heraus generiert werden kann, muss als „Related Record Type“ = Quotes gewählt werden. Unter Administration muss der Bericht der gesamten Organisation sichtbar gemacht werden.

Per Save & Close wird der Bericht nach Dynamics 365 veröffentlicht. In der Angebots-Entität ist der Bericht nun verfügbar.

Unser Fazit

Microsoft bietet mit Power BI, integrierten Dashboards und Berichten weitreichende Möglichkeiten Daten in Dynamics 365 auszuwerten und zu visualisieren. Wenn es jedoch um die Erstellung von hochformatierten, druckfertigen Berichten geht, sind dafür die Reporting Services noch immer das geeignete Tool für die Umsetzung.
Das Beispiel hat einen Anwendungsfall in Project Service Automation (PSA) aufgezeigt. Es kann jedoch auf jede andere App der Microsoft Dynamics 365 Welt und jede andere Entität adaptiert werden.

Wie PROLAN Sie unterstützen kann

Informationsgewinnung und -darstellung sind seit Jahren Begleitthemen bei jeder Einführung von CRM-Projekten. Unsere Mitarbeiter:innen verfügen über ein tiefgehendes Verständnis der etablierten Microsoft Reporting-Werkzeuge. Gemeinsam mit Ihnen nehmen wir gerne Ihre aktuellen Geschäft-Prozesse auf, identifizieren den Informationsbedarf für Entscheidungsträger und Anwender und gleichen diese mit dem aktuellen Funktionsumfang der Microsoft Werkzeuge ab. Bei der Einführung neuer Reportinglösungen sind die Schulung der Mitarbeiter:innen und das aktive Management der Veränderung nicht zu unterschätzende Projektaufgaben, bei denen wir mit bewährten Methoden unterstützen.

 

Haben Sie Fragen zur Microsoft Reporting Services, Power BI oder Dynamics 365?

Wir freuen uns über Ihre Anfrage!