LandrixSoftware / XRechnung-for-Delphi

XRechnung Implementation for Delphi
GNU General Public License v3.0
18 stars 6 forks source link

Schalter {$IFNDEF ZUGFeRD_Support} in "LoadFromXMLDocument" #12

Closed dsshad closed 1 week ago

dsshad commented 3 months ago

Hallo, müsste der Schalter {$IFNDEF ZUGFeRD_Support} in "class function TXRechnungInvoiceAdapter.LoadFromXMLDocument" in "intf.XRechnung.pas" nicht eigentlich {$IFDEF ZUGFeRD_Support} lauten? Also umgekehrt ohne N?

landrix commented 3 months ago

Nein, warum? Ohne ZUGFeRD Support wird der eigene Adapter TXRechnungInvoiceAdapter verwendet, ansonsten der für die ZUGFeRD-Lib.

dsshad commented 3 months ago

Ok, verstehe.

Der Grund für meine Frage war, dass beim Versuch eine XRechnung mit diesen Optionen zu erstellen

beim anschließenden Vergleich des Originals mit der Testrechnung Folgendes "bemängelt" wurde:

original original

Testrechnung testrechnung

Erst dachte ich, dass es an diesem Abschnitt in "class function TZUGFeRDInvoiceAdapter.LoadFromInvoiceDescriptor" liegt: //TODO #SKONTO Type ... ... und an der Stelle, wo dann im Falle von iptt_Net '#' durch ' ' ersetzt wird.

und dass es ausgehend vom Kommentar einfach nur generell ein noch offener Bereich ist.

Dann erschien mir aber auf den ersten Blick die andere Stelle als vertauscht. Hatte es ohne N mal probeweise gemacht und da stimmte die Testrechnung mit dem Original überein, weil dadurch u.a. "class procedure TXRechnungInvoiceAdapter301.InternalReadPaymentTerms" aufgerufen wurde, wo die Skonto-Informationen verarbeitet wurden.

landrix commented 3 months ago

Das liegt daran, dass die Angabe von Zahlungsdaten in XRechnung anders gelöst ist als in ZUGFeRD generell, bzw es gibt zwei Möglichkeiten der Abbildung. Ich werde versuchen, dass in der ZUGFeRD-Lib nachzubilden. In der originalen ZUGFeRD-C#-Lib wird darauf nicht eingegangen.

https://github.com/LandrixSoftware/ZUGFeRD-for-Delphi/issues/26

landrix commented 1 month ago

ok, muss ich nochmal prüfen

dsshad commented 1 week ago

Wenn das Ziel der letzten Änderungen zum Thema "Skonto" war, das Problem aus diesem Eintrag zu lösen, dann hat es funktioniert, so wie aussieht.

Habe den Fall nochmal nachgestellt und nun kommt keine Meldung mehr beim Erstellen einer Ausgangsrechnung im ZUGFeRD-Format, dass Original- und Testrechnung nicht identisch sind. Wenn man diese Ausgangsrechnung dann wie eine Eingangsrechnung einliest, sind jetzt auch die Skontodetails da (vorher fehleten sie).