Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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 können mehrere Dokumente existieren. Dokumente werden jedoch nie überschrieben, sondern ergänzend generiert. Über den Dateinamen ist es möglich diese Dokumente zu differenzieren. Über den entsprechenden Button ("Dokumente") in der Toolbar der "Bearbeiten"-Ansicht von Belegen, ist es möglich die generierten Dokumente abzurufen.


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

1

BriefkopfDer 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.
2AbsenderDer Absender des Dokuments wird durch die Konfiguration der entsprechenden Felder aus dem Vorlagen-Datensatz zusammengestellt. Bei den Feldern handelt es sich um einfache Eingabefelder.
3EmpfängerDer Empfänger des Dokuments entspricht dem Addressaten des Belegs. Dieser Inhalt wird bei der Generierung des Belegs automatisch befüllt.
4BetreffDer Betreff wird zusammengesetzt aus der Belegart und der Belegnummer.
Der Betreff ist codeseitig erweiterbar. Näheres dazu finden Sie im Abschnitt "Events".
5PositionenDie 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.
6SummenblockDer 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.
7FußzeileDie 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

BezeichnungFeldtypBeschreibung
BezeichnungEingabefeldDie Bezeichnung der Vorlage.
DateinamenmusterEingabefeldEin 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.
BriefkopfRTEDer Briefkopf. Näheres dazu finden Sie unter "Inhalt".
Fußzeile 1RTEDie linke Spalte der Fußzeile. Wird nur dieses Feld befüllt, erstreckt sich die Fußzeile über die gesamte Breite des Dokuments.
Fußzeile 2RTEDie rechte Spalte der Fußzeile.


Layout

BezeichnungFeldtypBeschreibung
Hintergrund PDFDateiauswahlEine PDF-Datei, welche als Hintergrund für die Dokumente genutzt wird.
SchriftartDateiauswahlEine font-Datei, welche für die regulären Inhalte des Dokuments genutzt wird.
Schriftart (fett)DateiauswahlEine font-Datei, welche für die fett gedruckten Inhalte des Dokuments genutzt wird.
SchriftgrößeEingabefeldDie Standard-Schriftgröße für die Inhalte des Dokuments.

Preise

BezeichnungFeldtypBeschreibung
Einzelpreis darstellen (netto)CheckboxDiese Checkbox entscheidet darüber, ob der Einzelpreis der Positionen in der Tabelle dargestellt wird.
Gesamtpreis darstellen (brutto)CheckboxDiese Checkbox entscheidet darüber, ob der Gesamtpreis (brutto) im Summenblock dargetellt wird.
Gesamtpreis darstellen (netto)CheckboxDiese Checkbox entscheidet darüber, ob der Gesamtpreis (netto) im Summenblock dargestellt wird.

Absender

BezeichnungFeldtypBeschreibung
FirmaEingabefeldDie Firma des Absenders.
StraßeEingabefeldDie Straße des Absenders.
PLZEingabefeldDie PLZ des Absenders.
StadtEingabefeldDie Stadt des Absenders.
LandEingabefeldDas 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.

NameEventBeschreibung
OnPopulateOutputFileName\Brandbox\ErpDocument\Erp\CreateReceiptPdf\Lib\Event\OnPopulateOutputFileNameDieses 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\OnPopulateHeaderDieses 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\OnPopulateSubHeaderDieses 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\OnPopulateTableRowDieses 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\OnPopulateTableRowCellDieses Event wird genutzt, um die Zellen einer Tabellenzeile anhand eines Cell-Elements aus der Kopfzeile zu befüllen.