Zum Hauptinhalt springen

PDF-Dokument erstellen

Nutze den Schritt PDF-Dokument erstellen, um aus einem Business-Central-Report eine PDF zu generieren und als Dokument in der AutoFlow-Dokumentenbibliothek zu speichern. Der Schritt liefert eine Referenz auf das erstellte Dokument, sodass jeder Folgestep direkt darauf zugreifen kann.

Typische Einsatzszenarien sind:

  • Eine Rechnungs-PDF aus dem Verkaufsrechnungsreport erzeugen und an eine E-Mail anhängen.
  • Einen Lieferschein für eine Sendung erstellen und in der Dokumentenbibliothek archivieren.

Schritt konfigurieren

Öffne den Flow-Editor, füge PDF-Dokument erstellen hinzu und fülle die Konfigurationsseite aus.

Beschreibung

  • Zweck: Beschreibt, was dieser Schritt im Kontext deines Flows tut.
  • Wann ausfüllen: Immer. Die Beschreibung erscheint im Editor und in der Ausführungshistorie.
  • Tipp: Nenne den Report und die Absicht, zum Beispiel Verkaufsrechnung als PDF erzeugen.

Datensatz-Selektor

  • Zweck: Zeigt auf den Datensatz, auf dem der Report ausgeführt werden soll.
  • Wann ausfüllen: Optional. Setze ihn für Reports, die einen Quell-Datensatz brauchen (z. B. eine Verkaufsrechnung oder eine Lieferung). Lass ihn leer für Reports, die ihre Daten ausschließlich aus Filtern und Request-Page-Optionen aufbauen – typische Beispiele sind Finanzberichte wie Probebilanz, Sachkontenposten-Auszüge oder Bilanz-/GuV-Übersichten.
  • Funktionsweise: Nutze den SmartField-Picker, um einen Platzhalter auf eine Datensatz-Referenz einzufügen (z. B. {{trigger_record}}). Der Selektor verwendet die Standard-{{name}}-Notation – die Picker-Ausgabe wird unverändert eingefügt.
  • Tipp: Wenn gesetzt, muss der Selektor auf ein Referenz-Feld zeigen, nicht auf einen Wert. Kann der Selektor beim Ausführen des Schritts nicht aufgelöst werden, erzeugt der Schritt eine klare Fehlermeldung.

Report

  • Zweck: Der Business-Central-Report, mit dem die PDF generiert wird.
  • Wann ausfüllen: Verpflichtend. Ohne Report kann keine PDF erzeugt werden.
  • Funktionsweise: Klicke auf den Assist-Button, um die Report-Auswahl zu öffnen. Es werden nur Reports mit einer ID unter 2.000.000.000 angezeigt.
  • Tipp: Stelle sicher, dass der gewählte Report PDF-Ausgabe unterstützt. Nicht jedes Report-Layout wird als PDF fehlerfrei dargestellt.

Layout

  • Zweck: Wähle, mit welchem Layout der Report gerendert wird – zum Beispiel ein Word-Layout statt eines RDLC-Layouts oder ein kundenspezifisches Layout.
  • Wann ausfüllen: Optional. Leer lassen, um das Standard-Layout des Reports zu verwenden. Das entspricht dem bisherigen Verhalten, bestehende Flows bleiben unverändert.
  • Funktionsweise: Wähle zuerst einen Report und klicke dann auf den Assist-Button, um aus den für diesen Report verfügbaren Layouts auszuwählen. Es werden sowohl eingebaute als auch benutzerdefinierte Layouts angezeigt.
  • Tipp:
    • Word- und RDLC-Layouts werden direkt nach PDF gerendert. Excel- und benutzerdefinierte Layouts sind ebenfalls wählbar, das PDF-Ergebnis kann jedoch je nach Layout abweichen.
    • Über Layout entfernen kehrst du zum Standard-Layout des Reports zurück.
    • Ein Wechsel des Reports setzt das Layout zurück, da ein Layout zu einem bestimmten Report gehört.
    • Wird das gewählte Layout später in Business Central entfernt oder umbenannt, meldet der Schritt einen klaren Fehler, sodass du ein anderes wählen kannst.

Report-Parameter

  • Zweck: Standardparameter für die Request-Page des Reports (Filter, Optionen etc.).
  • Wann ausfüllen: Optional. Nutze dies, wenn der Report bestimmte Filtereinstellungen benötigt.
  • Funktionsweise: Klicke auf den Assist-Button, um die Request-Page des Reports zu öffnen. Die Parameter werden gespeichert und beim Ausführen des Schritts automatisch angewendet.
  • Tipp: Du kannst die Parameter jederzeit per Assist-Button aktualisieren. Über Berichtsparameter zurücksetzen lässt sich die gespeicherte Konfiguration verwerfen, damit der Bericht beim nächsten Lauf mit den Defaults startet.

XML bearbeiten

Sobald Parameter konfiguriert sind, öffnet die Aktion XML bearbeiten einen separaten Editor mit den rohen Anfragepage-Parametern. Hilfreich, wenn du SmartField-Platzhalter in die Parameter einfügen willst, damit der Bericht zur Laufzeit mit Werten aus dem Flow läuft.

Platzhalter verwenden dieselbe {{slug.output}}-Syntax wie der restliche Flow-Editor. Alt+S im Editor öffnet den SmartField-Picker; der gewählte Platzhalter wird in die Zwischenablage kopiert, sodass du ihn an der Cursorposition einfügen kannst.

Wechselseitiger Ausschluss mit der Anfragepage. Sind SmartField-Platzhalter erst einmal im XML gespeichert, kann die Anfragepage diese Parameter nicht mehr öffnen – sie würde die Platzhalter als typisierte XML-Werte parsen wollen und scheitern. Der Assist-Edit auf dem Feld „Report-Parameter" leitet automatisch zu XML bearbeiten um, sobald Platzhalter erkannt werden. Um zur Anfragepage zurückzukehren, zuerst über Berichtsparameter zurücksetzen leeren.

Typisierte Felder. Ersetzungswerte werden unverändert in das XML übernommen. Text-Felder sind nachsichtig; typisierte Felder (Datum, Decimal, Boolean, Integer …) verlangen das Format, das BCs Anfragepage erwartet – sonst scheitert der Bericht mit einem NavType-Parse-Fehler. Ein SmartField-Format-Suffix ({{name;9}}) bringt den Wert in die Form, die der Parser erwartet – ;9 ist BCs XML-Format und genau das, was die Anfragepage erwartet:

<Field name="StartDate">{{trigger.postingDate;9}}</Field>

Das ergibt 2026-05-26 für ein Datum, 1234.56 für eine Decimal, true/false für einen Boolean.

Dateiname-Pattern

  • Zweck: Steuert den Dateinamen des erzeugten PDF-Dokuments.
  • Wann ausfüllen: Optional. Wird das Feld leer gelassen, wird ein Standardname verwendet (Report_{ReportId}.pdf).
  • Funktionsweise: Verwende Platzhalter, um dynamische Dateinamen zu erstellen:
    • {ReportName} — Der Caption des gewählten Reports.
    • {RecordNo} — Der Primärschlüsselwert des Quell-Datensatzes.
    • {ReportId} — Die numerische ID des Reports.
  • Beispiel: {ReportName}_{RecordNo}.pdf erzeugt Verkaufsrechnung_1001.pdf.

Output

Der Schritt liefert einen einzelnen Referenz-Output:

  • Document: Eine Referenz auf den neu erstellten Eintrag in der Document-Tabelle (mse365 AF Document).

Nutze diesen Output in Folgesteps, indem du ihn über den Step-Slug referenzierst, zum Beispiel pdfprint_Document. Da es sich um einen Referenz-Output handelt, können spätere Schritte den vollständigen Dokument-Datensatz auflösen — inklusive Name, Content-Type, Länge und Binärdaten.

Was passiert, wenn der Schritt läuft

  1. Der Schritt liest die konfigurierte Report-ID, den Selektor (falls gesetzt), die Parameter, das Layout (falls gesetzt) und das Dateiname-Pattern.
  2. Er prüft, dass der Report existiert, dass das gewählte Layout (falls gesetzt) für diesen Report noch existiert und – wenn ein Selektor gesetzt ist – dass dieser auf einen gültigen Datensatz auflöst. Ohne Selektor läuft der Report ohne Datensatz-Scope und nutzt nur die konfigurierten Parameter.
  3. Der Report wird als PDF in einen In-Memory-Stream gerendert – mit dem gewählten Layout, falls gesetzt, sonst mit dem Standard-Layout des Reports.
  4. Ein neuer Dokumenteintrag wird in der AutoFlow-Dokumentenbibliothek erstellt — mit dem PDF-Inhalt, dem Dateinamen und dem Content-Type application/pdf.
  5. Die Record-ID des Dokuments wird als Referenz-Output ausgegeben.

Das erzeugte Dokument ist auf der Dokumente-Seite sichtbar und bleibt unabhängig von der Flow-Ausführung bestehen.

Best Practices

  • Aussagekräftiges Dateiname-Pattern setzen: Standardnamen wie Report_206.pdf sind später schwer zuzuordnen. Nutze {ReportName}_{RecordNo}.pdf für Klarheit.
  • Selektor validieren: Wenn du einen dynamischen Selektor aus einem vorherigen Schritt verwendest, stelle sicher, dass dieser immer eine Datensatz-Referenz liefert.
  • Mit E-Mail- oder Archiv-Steps verketten: Die Dokument-Referenz kann von jedem Step genutzt werden, der einen Record-Selektor akzeptiert — z. B. um die PDF an eine E-Mail anzuhängen oder in ein externes System zu kopieren.
  • Dokumente-Seite prüfen: Überprüfe nach der Ausführung, ob das erzeugte Dokument in der Dokumentenliste mit dem erwarteten Namen und der erwarteten Größe erscheint.