Hilfe · ZUGFeRD Creator Version 3
Die Kundendatei vorbereiten
In der Kundendatei ändert sich wenig: ein Tabellenauftreten aus dem Creator, zwei Containerfelder am Beleg und ein Knopf.
Diese Anleitung gilt für Version 3 des ZUGFeRD Creator. Sie arbeiten mit Version 4? Zur Hilfe für Version 4.
Einmalig: _preferences_x einbinden
Der Weg zurück: Auch die Kundendatei bekommt den Creator als externe Datenquelle, und aus ihm das Tabellenauftreten _preferences_x im Beziehungsdiagramm. Es braucht keine Beziehung, es steht einfach für sich.
_preferences_x in der Kundendatei. Der Pfeil im Kopf zeigt: die Tabelle liegt in einer anderen Datei.Damit kennt die Kundendatei den Creator: Der Knopf kann ZF_Beleg_erzeugen im Creator aufrufen, und FileMaker öffnet den Creator beim Aufruf im Hintergrund mit. Das ist einmal je Kundendatei zu tun.
Containerfelder am Beleg
Jede Belegtabelle braucht Container:
| Feld | Beispiel | Inhalt |
|---|---|---|
| Beleg-PDF | INV_Invoices::pdf_cont | Die gedruckte Rechnung als PDF. Sie wird die sichtbare Seite der ZUGFeRD-PDF. Das Rechnungsprogramm legt sie hier ab, bevor die E-Rechnung erzeugt wird. |
| Ziel ZUGFeRD | INV_Invoices::ZF_PDF | Hierhin schreibt der Creator die fertige ZUGFeRD-PDF. |
| Ziel XRechnung | INV_Invoices::ZF_XML | Hierhin schreibt der Creator die XRechnung. |
Beleg-PDF und Ziel sind zwei verschiedene Felder. Steht in der Zuordnung als Beleg-PDF derselbe Container wie das Ziel, liest der Creator ein leeres Feld: Die XRechnung läuft durch, die ZUGFeRD-PDF bricht ab mit „keine Beleg-PDF“.
Der Knopf
Auf dem Beleg eine Taste mit der Aktion Script ausführen. Als Datei den ZUGFeRD Creator wählen, als Script ZF_Beleg_erzeugen, als Parameter:
JSONSetElement ( "{}" ;
[ "beleg" ; "Rechnung" ; JSONString ] ;
[ "nr" ; T12_INVOICES::ID_Invoice ; JSONString ] ;
[ "format" ; "zugferd" ; JSONString ] )
| Parameter | Inhalt |
|---|---|
| beleg | Name der Belegart, genau wie im Reiter „Zuordnung“ angelegt: Rechnung, Angebot, Gutschrift |
| nr | Der Wert, über den der Creator den Beleg sucht, also der Inhalt des Feldes „Belegnummer im Kopf“ der Belegart. Das kann die Rechnungsnummer sein oder eine interne ID. Der Dateiname kommt trotzdem aus der Belegnummer der Zuordnung. |
| format | zugferd für die PDF, ubl für die XRechnung |
Für die XRechnung eine zweite Taste mit "ubl". Für das Angebot entsprechend "Angebot" und das Schlüsselfeld des Angebots.
Vorher festschreiben. Wird der Beleg gerade bearbeitet, sieht der Creator den alten Stand und kann das Ergebnis nicht in den Container schreiben. Wer den Knopf in ein eigenes Script packt, setzt als ersten Schritt Datensatz/Abfrage festschreiben davor.