Belegdokumente erstellen

Mit dem Paket "Erp/CreateReceiptPdf" der erp-document App ist es möglich PDF-Dokumente für Belege zu erstellen. Diese Dokumente werden mit Informationen aus dem Beleg, der PDF-Vorlage und der Belegart befüllt. In der Tabelle Erp → Konfiguration → Vorlagen kann die Konfiguration vorgenommen werden. Zu einem Beleg kann nur ein Dokument existieren.



Inhalt

Das zu einem Beleg generierte PDF wird mit Informationen zum Beleg, dessen Positionen und verschiedenen konfigurierten Inhalten befüllt. Wie das Dokument im Detail aufgebaut ist, soll im Folgenden aufgeführt werden.

Nr.

Bezeichnung

Inhalt

Nr.

Bezeichnung

Inhalt

1

Briefkopf

Der Briefkopf des Dokumentes wird durch die Konfiguration des entsprechenden Feldes aus dem Vorlagen-Datensatz zusammengestellt. Bei dem Feld für den Briefkopf handelt es sich um ein Freitextfeld.

2

Absender

Der Absender des Dokuments wird durch die Konfiguration der entsprechenden Felder aus dem Vorlagen-Datensatz zusammengestellt. Bei den Feldern handelt es sich um einfache Eingabefelder.

3

Empfänger

Der Empfänger des Dokuments entspricht dem Addressaten des Belegs. Dieser Inhalt wird bei der Generierung des Belegs automatisch befüllt.

4

Betreff

Der Betreff wird zusammengesetzt aus der Belegart und der Belegnummer.
Der Betreff ist codeseitig erweiterbar. Näheres dazu finden Sie im Abschnitt "Events".

5

Positionen

Die Positionen werden aus den Positionen des Belegs zusammengesetzt. Der Einzelnettopreis der Positionen wird lediglich dargestellt, wenn der Vorlagen-Datensatz entsprechend konfiguriert wurde.
Die Tabelle ist codeseitig erweiterbar. Näheres dazu finden Sie im Abschnitt "Events.

6

Summenblock

Der Summenblock wird aus den Werten des Belegs zusammengesetzt. Diese Werte werden beim Buchen des Belegs automatisch befüllt. Die Zusammensetzung des Summenblocks kann über die Konfiguration des Vorlagen-Datensatzes konfiguriert werden.

7

Fußzeile

Die Fußzeile des Dokuments wird durch die Konfiguration der entsprechenden Felder aus dem Vorlagen-Datensatz zusammengestellt. Es ist möglich zwei Spalten in der Fußzeile in Freitextfeldern zu definieren. Wird nur die erste Fußzeile konfiguriert, erstreckt sich diese um die gesamte Breite des Dokuments.



Konfiguration

Über die Vorlagen-Datensätze ist es dem Nutzer möglich Inhalte und Darstellung der zu generierenden Dokumente zu konfigurieren.

Allgemein

Bezeichnung

Feldtyp

Beschreibung

Bezeichnung

Feldtyp

Beschreibung

Bezeichnung

Eingabefeld

Die Bezeichnung der Vorlage.

Dateinamenmuster

Eingabefeld

Ein Muster, nachdem die generierten Dokumente benannt werden. Folgende Platzhalter können in der folgenden Notation platziert werden: {{Platzhalter}}

  • ReceiptID - Dieser Platzhalter wird durch die ID des Belegs ersetzt.

  • ReceiptType - Dieser Platzhalter wird durch die Belegart ersetzt.

  • ReceiptNumber - Dieser Platzhalter wird durch die Belegnummer ersetzt.

Briefkopf

RTE

Der Briefkopf. Näheres dazu finden Sie unter "Inhalt".

Fußzeile 1

RTE

Die linke Spalte der Fußzeile. Wird nur dieses Feld befüllt, erstreckt sich die Fußzeile über die gesamte Breite des Dokuments.

Fußzeile 2

RTE

Die rechte Spalte der Fußzeile.



Layout

Bezeichnung

Feldtyp

Beschreibung

Bezeichnung

Feldtyp

Beschreibung

Hintergrund PDF

Dateiauswahl

Eine PDF-Datei, welche als Hintergrund für die Dokumente genutzt wird.

Schriftart

Dateiauswahl

Eine font-Datei, welche für die regulären Inhalte des Dokuments genutzt wird.

Schriftart (fett)

Dateiauswahl

Eine font-Datei, welche für die fett gedruckten Inhalte des Dokuments genutzt wird.

Schriftgröße

Eingabefeld

Die Standard-Schriftgröße für die Inhalte des Dokuments.

Preise

Bezeichnung

Feldtyp

Beschreibung

Bezeichnung

Feldtyp

Beschreibung

Einzelpreis darstellen (netto)

Checkbox

Diese Checkbox entscheidet darüber, ob der Einzelpreis der Positionen in der Tabelle dargestellt wird.

Gesamtpreis darstellen (brutto)

Checkbox

Diese Checkbox entscheidet darüber, ob der Gesamtpreis (brutto) im Summenblock dargetellt wird.

Gesamtpreis darstellen (netto)

Checkbox

Diese Checkbox entscheidet darüber, ob der Gesamtpreis (netto) im Summenblock dargestellt wird.

Absender

Bezeichnung

Feldtyp

Beschreibung

Bezeichnung

Feldtyp

Beschreibung

Firma

Eingabefeld

Die Firma des Absenders.

Straße

Eingabefeld

Die Straße des Absenders.

PLZ

Eingabefeld

Die PLZ des Absenders.

Stadt

Eingabefeld

Die Stadt des Absenders.

Land

Eingabefeld

Das Land des Absenders.



Events

Um die Dokumente zu generieren und deren Inhalte anpassbar zu gestalten, werden Events genutzt. Die existierenden Events und deren Einsatzzweck werden im Folgenden erläutert.

Name

Event

Beschreibung

Name

Event

Beschreibung

OnPopulatePdf

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulatePdf

Dieses Event wird genutzt, um das PDF mit Inhalten zu befüllen. Das PDF wird vor und nach dem Event instanziiert bzw. abgeschlossen.

OnPopulateOutputFileName

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateOutputFileName

Dieses Event wird genutzt, um den Dateinamen des Dokuments zu definieren. Standardmäßig wird dieses Event genutzt, um das Dateinamenformat aus dem Vorlagen-Datensatz zum Dateinamen zu konvertieren.

OnPopulateHeader

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateHeader

Dieses Event wird genutzt, um den Betreff des Dokuments zu erweitern. Es handelt sich hierbei um einen einfachen String, der fettgedruckt platziert wird. Standardmäßig enthält der Betreff die Belegart und die Belegnummer.

OnPopulateSubHeader

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateSubHeader

Dieses Event wird genutzt, um einen Text unter dem Betreff zu platzieren. Es handelt sich hierbei um einen einfachen String, der unter dem Betreff platziert wird. PHP_EOL wird hierbei als delimiter interpretiert. Bei diesem Delimiter wird der Text umbrochen und so zeilenweise platziert.

OnPopulateTableHead

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateTableHead

Dieses Event wird genutzt, um die Kopfzeile der Positionstabelle zu definieren. Es wird ein Array aus Cell-Elementen erwartet. Diese Cell-Elemente geben die Struktur der Tabelle vor (Reihenfolge und Breite der Spalten). Standardmäßig werden folgende Spalten platziert: Bezeichnung, Anzahl. (Einzelpreis Netto), MwSt., Preis.

OnPopulateTableRow

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateTableRow

Dieses Event wird genutzt, um die Zeilen der Tabellen mit den Informationen aus den Positionen zu befüllen. Jedes Cell-Element der Kopfzeile löst ein das Event \Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateTableRowCell aus.

OnPopulateTableRowCell

\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateTableRowCell

Dieses Event wird genutzt, um die Zellen einer Tabellenzeile anhand eines Cell-Elements aus der Kopfzeile zu befüllen.