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 |
---|---|---|
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. |
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. |
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 | 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}}
|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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. |