Versionen im Vergleich

Schlüssel

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

Die Element-Namen der ZUGFeRD-, Factur-X- oder XRechnung-XML-Datei werden nicht in dieser Dokumentation beschrieben, da es davon eine Vielzahl gibt. Für diesen Zweck gibt es die „technische Dokumentaion“ die als Arbeitsmittel unentbehrlich ist. In der vorliegenden Implementierung wird ein Element-Name über einen Path beschrieben, der den genauen Ort des Elements beschreibt.
Dabei werden die Elementnamen ohne NameSpace-Angaben durch einen Punkt aneinandergereiht.

Codeblock
titleBeispielpfad
CrossIndustryInvoice.SupplyChainTradeTransaction.ApplicableHeaderTradeSettlement.SpecifiedTradeSettlementHeaderMonetarySummation.ChargeTotalAmount


Handelt es sich bei der Ortsangabe um eine Array, dann erfolgt die Angabe des Array-Elements mit eckigen Klammern und der Index-Angabe dazwischen. Das erste Element eines Array hat als Index-Nummer die Nummer 0.  Wird ein Array-Index angesprochen, welches ein nicht existierendes Element bezeichnet, so wird mit dem Befehl das fehlende Element und alle davor fehlende Elementen hinzugefügt.       

Codeblock
titleBeispielpfad mit Array-Element
CrossIndustryInvoice.SupplyChainTradeTransaction.IncludedSupplyChainTradeLineItem[0]


Da die Pfadnamen sehr lang werden können, gibt es mehrere Wege der Vereinfachung. Zu allererst ist es zulässig, den ersten Namen "CrossIndustryInvoice" wegfallen zu lassen, da grundsätzlich jeder Pfad-Name mit "CrossIndustryInvoice" beginnt und es damit selbsterklärend ist.
Weiterhin gibt es Möglichkeit über IDs zu arbeiten. Jedes Element besitzt eine ID, über die es angesprochen werden kann. Der Set-Befehl liefert zum entsprechenden Pfad immer die ID zurück. Zukünftige Zugriffe können dann auch über die ID erfolgen.

BefehlPfadRückgabewert
1. Set-BefehlCrossIndustryInvoice.SupplyChainTradeTransaction4
2. Set-Befehl4.IncludedSupplyChainTradeLineItem[0]5



Durch die Kombination aus ID und Pfad kann auf die Unterelemente zugegriffen werden. Neben dem Adressieren von Elementen kann der Pfad auch für Befehle verwendet werden, die im Zusammenhang mit der Adressierung zu sehen sind. Anstelle eines Elements lassen sich für Array-Elemente zwei Befehle verwenden AddNew() und Last().

Scroll Pagebreak

BefehlAuswirkung
4.IncludedSupplyChainTradeLineItem.AddNew()Fügt dem Element "IncludedSupplyChainTradeLineItem" ein neues Array-Element hinzu.
4.IncludedSupplyChainTradeLineItem.Last()Adressiert das letzte Array-Element von "IncludedSupplyChainTradeLineItem".


Setzen von Werten des internen Rechnungsdokuments über Kommandosprache

Das ZUGFeRD-Modul bietet einen Set-Befehl, der sehr universell verwendet werden kann.
Der Set-Befehl hat folgende Parameter:

BefehlParameter
1ID
2Path
nValue (0-N)



Die beiden Übergabeparameter ID und Path dienen zum Adressieren eines Elements. Die ID wird selbstständig zum übergebenen Pfad hinzugefügt.
Alle anderen Übergabeparameter sind Values und definieren den Inhalt des Elements bzw. den Inhalt seiner Unterelemente.

Pfad: 8.ApplicableTradeTax[0]

ValueBeispiel
Value1“19,00 €,” (CalculatedAmount)
Value2"VAT"( TypeCode)
Value3“100,00 €” (BasisAmount)
Value4“19%” (RateApplicablePercent)


Mit einem Set-Befehl werden gleich vier Unterelemente von "ApplicableTradeTax" gesetzt.

Natürlich kann auch jeder der vier Werte in einem separaten Set-Befehl gesetzt werden. Durch die Angabe spezieller Operatoren mit mehreren Werten spart man jedoch erheblich Schreibarbeit. Dafür ist es jetzt schwerer, zu verstehen, welcher Value welchen Wert setzt. Die nachfolgende Auflistung beschreibt, welche Element Operatoren mehrere Werte besitzen und der wievielte Value welches Unterelement setzt. Im Gegensatz zu einfachen Objekt-Typen, bei denen nur ein Value gesetzt werden kann, können komplexere Objekt-Typen mehrere Unterobjekte auf einmal definieren. Welcher Value dabei auf welches Unterobjekt abgebildet wird, ist im Kapitel Multivalue-Set beschrieben.