AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie ZUGFeRD Demo von SH17 verwenden?

Ein Thema von Harry Stahl · begonnen am 22. Okt 2024 · letzter Beitrag vom 19. Nov 2024
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 23. Okt 2024, 18:39
Die beiden Lizenzen sind aus meiner Sicht kein Widerspruch. Du hast halt 2 Optionen:
- GPL v3
- kommerzielle Lizenz
Wenn du die (kostenlose) GPL nutzen möchtest, dann musst du deine Software ebenfalls unter der GPL veröffentlichen. Wenn das für dich nicht in Frage kommt, dann kannst du eine kommerzielle Lizenz erwerben. Falls diese Darstellung nicht korrekt ist, wird mich sh17 sicher korrigieren.
OK, alles klar, danke für die Info.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#12

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 23. Okt 2024, 18:54
Sowas nennt sich Dual- bzw. Multi-Lizenz.

Hier werden Zwei angeboten, wovon du dir eine aussuchen kannst, welche zu deinem Projekt am Besten passt.
Es müssen nicht Beide gleichzeitig angewendet werden.

Wie shebang schon sagte: Ist dein Programm quasi OpenSource, dann nimm die GPL und wenn nicht, dann "kauf" die andere Lizenz.

Ich nutze für meine OpenSource-Sachen z.B. eine Lizenz, welche aus MPL, GPL und LGPL besteht.
Also auch andersrum, wenn z.B. dein Programm selbst unter der GPL steht, dann sind viele andere Lizenzvereinbarungen oftmals blockiert, aber so kannst du dir hier dann einfach ebenfalls die GPL nehmen und schon passt es.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Okt 2024 um 18:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 23. Okt 2024, 18:55
So, ich habe jetzt mal bei den units:

intf.XRechnungHelper.pas
intf.XRechnung_3_0.pas
intf.XRechnung_2_3.pas
intf.XRechnung.pas
intf.Invoice.pas

wo irgendwelche Verweise auf Windows XML drin waren rausgenommen. Da sind dann die hälfte aller Funktionen rot unterkringelt. Es reicht hier leider nicht, irgendwo eine DomVendor Eigenschaft zu ändern.

Leider kenn ich mich mit XML überhaupt nicht aus (im Sinne der Erzeugung, wie man es normalerweise macht), daher könnte ich den Code hier auch nicht umarbeiten (was wahrscheinlich mehr Arbeit macht, als das was ich nun machen werde).

Werde mir daher hier wohl einige Beispiel-XML-Vorlagen machen und da den Text jeweils ersetzen, ergänzen oder löschen. Da mein Programm eh nur ganz einfache Rechnungen (so im BASIC-Stil) erzeugen kann, sollte das erst mal ausreichen.

Vielleicht gibt es die Library ja irgendwann noch mal für Crosscompile, dann kann ich mir das ja noch mal ansehen...

Davon mal abgesehen: Wow: Was für eine Fleißarbeit da drin steckt, sieht ja für die Nutzung unter Windows sehr gut aus.

Nachtrag: Habe mal ChatGPT befragt und eine Funktion für die XML-Basic-Erstellung im Cross-Compatiblen XML-Format bekommen. Werde es dann doch erst mal über die XML-Variante (mit Hilfe von ChatGPT) versuchen.

Geändert von Harry Stahl (23. Okt 2024 um 23:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.642 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 24. Okt 2024, 07:32
Also wenn du nur XML erzeugen möchtest, dann müsste man nur den ganzen lesenden Teil entfernen und es sollte dann auch unter Linux funktionieren. Nur der lesende Teil benötigt XPath. Ich kann dir gern helfen, mich kann man auf Stundenbasis beauftragen
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 24. Okt 2024, 22:39
Also wenn du nur XML erzeugen möchtest, dann müsste man nur den ganzen lesenden Teil entfernen und es sollte dann auch unter Linux funktionieren. Nur der lesende Teil benötigt XPath. Ich kann dir gern helfen, mich kann man auf Stundenbasis beauftragen
Ich werde das mal versuchen. Was ich noch nicht so ganz verstanden habe: Die Demo in "XRechnung-for-Delphi-master" kann ja sowohl eine XML-Datei für X-Rechnung erstellen, als auch eine XML-Datei für das ZUGFeRD Format.

Warum steht in der unit "intf.XRechnung" der Hinweis "setzt ZugFeRD-for-Delphi voraus"? und dann das Define "{.$DEFINE ZUGFeRD_Support}".
Ich habe das nicht aktiviert.

Die XML wird doch auch ohne das erstellt?

Ferner: Wärst Du dafür offen, Deine Unit-Struktur ein wenig zu ändern und den lesenden und schreibenden Teil in 2 unterschiedliche units zu verlagern? Ich möchte nicht jedesmal wenn es updates oder fixes gibt die unit auseinander dividieren, damit ich den schreibenden Teil im CrossCompile-Modus verwenden kann.

Oder zumindest in den Units per IFDEFs die "

Xml.Win.msxmldom, Winapi.MSXMLIntf, Winapi.msxml

units nur aktivierst, wenn ein "IFDEF "LOADXML" gesetzt ist? ( Oder mit einem "IFNDEF SKIPLoad" sie standardmaäßig aktiviert hast, aber man mit einem einfachen define das alles deaktivieren kann?)

Entsprechend für alle "Load" - Funktionen.

Ich habe es jetzt soweit unter Linux zum Laufen gebracht, indem ich in allen units die genannten ausgeklammert habe und in der Unit Rechnungshelper in der Klasse die SelectNode-Prozeduren ausgeklammert habe.

Geändert von Harry Stahl (24. Okt 2024 um 23:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.642 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 25. Okt 2024, 06:41
Zitat:
Warum steht in der unit "intf.XRechnung" der Hinweis "setzt ZugFeRD-for-Delphi voraus"? und dann das Define "{.$DEFINE ZUGFeRD_Support}".
Ich habe das nicht aktiviert.
Der Hinweis bezieht sich auf das DEFINE. Es funktioniert auch alles ohne, wenn man sich auf das ZUGFeRD-Profil "XRechnung" beschränkt. (was vollkommen ausreicht, um eine ERechnung zu erstellen)

Die Zusammenhänge kannst Du Dir gern in der Dokumentation der Standards erlesen, da ist viel beschrieben. Die sollte man sowieso mal gelesen haben, damit man weiß, was alles mit ERechnung geht.

Dein Wunsch kann ich gern im Hinterkopf behalten, momentan ist das zeitlich nicht zu machen, es sei denn du beauftragst mich offiziell.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 25. Okt 2024, 13:07
Zitat:
Warum steht in der unit "intf.XRechnung" der Hinweis "setzt ZugFeRD-for-Delphi voraus"? und dann das Define "{.$DEFINE ZUGFeRD_Support}".
Ich habe das nicht aktiviert.
Dein Wunsch kann ich gern im Hinterkopf behalten, momentan ist das zeitlich nicht zu machen, es sei denn du beauftragst mich offiziell.
Na, man Dir ja nicht nachsagen, dass Du nicht geschäftstüchtig bist...

Aber eine Auftragsvergabe für max. 20 Minuten Arbeit bringt weder mir noch Dir was, zumal ich die Sache schon erledigt habe. Ich kann Dir gerne die units mit den entsprechenden IFDFES zur Verfügung stellen, so dass diese auch unter FMX bzw. Crossplattform einsetzbar sind. Für VCL bleibt alles wie es ist. Für FMX, ab Delphi 11.1 funktioniert das automatisch, Anwender mit früheren Delphi-Versionen müssen bei FMX-apps im Projekt nur einmal die Bedingung "FrameWork_FMX" setzen (ab 11.1 ist es automatisch bei FMX-Anwendungen gesetzt).

Die Units haben die Fassung, die ich am 21. Oktober von Github geladen habe. Wenn Du zwischenzeitlich da Änderungen eingebaut hast, können wir auch warten, bis Du im November alles zusammengeführt hast, dann mache ich das gern noch einmal (um es dann nie mehr machen zu müssen).

Ich habe Dir übrigens per PN eine Bestellung für die Lizenz zukommen lassen.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 26. Okt 2024, 14:27
Ich hatte vergeblich nach einer Möglichkeit gesucht, auch ein Betreff in die X-Rechnung zu integrieren und dann in Deinem Code gesehen, dass Du da noch ein offenes TODO dafür hattest.

Das habe ich jetzt mal schnell selbst ergänzt:

1. Neue Variable "InvoiceSubjectCode" in der Klasse "TInvoice" eingeführt (unit intf.invoice).
2. Code in unit 'intf.XRechnung_3_0" und unit 'int.XRechnung_2_3' wie folgt ergänzt / geändert:

Delphi-Quellcode:
with AddChild('ram:IncludedNote') do
    begin
      AddChild('ram:SubjectCode').Text := _Invoice.InvoiceSubjectCode; // BT-21

      for i := 0 to _Invoice.Notes.Count-1 do begin
      //with AddChild('ram:IncludedNote') do
      //begin
        AddChild('ram:Content').Text := _Invoice.Notes[i].Content; // BT-22
        //TODO <ram:SubjectCode>ADU</ram:SubjectCode>, bei UBL auch
      end;
    end;
Scheint zu funktionieren, der Validator Quba weist es jedenfalls so aus (Zeile Betreff, für BT-21), siehe screenshot in Anlage.

Wenn Du der Ansicht bist, dass das so richtig ist, wäre meine Anregung, das Du das so in Deine Implementierung übernimmst.

Generelle Frage: Ist es Dir lieber, solche Hinweise / Anregungen hier auf der DP zu sehen, in einem Kommentar auf GitHub oder sollte man Dir das per Mail zusenden?

Übrigens: Die Basic-Implementation für ZUGFeRD habe ich somit fertig, inklusive ordnungsgemäße Einbettung der XML-Datei "factur-x.xml" in ein PDF/A-3 Dokument (wobei ich das mit den Komponenten gemacht habe, die ich auch für mein Programm "PDF-Manager" verwende). Ich denke, das ging jetzt doch sehr viel schneller als eine Hin und Her mit ChatGPT. Hoffe der Rest geht auch flott (wobei der Rest bedeutet die Formate "Comfort und Extended" zu implementieren, dafür muss ich eine Reihe von neuen Feldern in meine Masken aufnehmen. Das wird ja wohl auch schon für die X-Rechnung B2G notwendig sein, weil da ja auch eine Reihe zusätzlicher Felder benötigt werden).

EDIT: Nee, das funktioniert so leider nicht, das hatte ich nicht richtig verstanden. SubjectCode ist wohl immer eine Erklärung für den Content.

Dh. man müsste wohl eher die Klasse TInvoiceNote um einen Member "ID" ergänzen, der kann dann "ADU", "AAI" etc. enthalten.

Aber im Betreff erhalte ich dann auch nur "ADU". Kann das so richtig sein? Wohl eher nicht, oder?
Miniaturansicht angehängter Grafiken
bt21.jpg  

Geändert von Harry Stahl (26. Okt 2024 um 23:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 26. Okt 2024, 16:41
Weiterer Vorschlag: Du hast die BT-82 (Information für das Zahlungsmittel) noch nicht abgedeckt. Daher habe ich in der Klasse TInvoice aufgenommen:

PaymentMeansInformation : String;

In procedure "SaveDocumentUNCEFACT" (jeweils in units "intf.XRechnung_2_3 und intf.XRechnung_3_0) habe ich wie folgt ergänzt:

Delphi-Quellcode:
...
  with AddChild('ram:SpecifiedTradeSettlementPaymentMeans') do
      begin
        AddChild('ram:TypeCode').Text := TXRechnungHelper.InvoicePaymentMeansCodeToStr(_Invoice.PaymentMeansCode);

        AddChild('ram:Information').Text := _Invoice.PaymentMeansInformation; // Meine Ergänzung
Schlage auch die Übernahme dieser Erweiterung vor. In der Anlage ein Screenshot vom Ergebnis (für Zahlungsmittel).

Hinweis: In den Load-Prozeduren habe ich nichts ergänzt, da ich die ja wie bereits erwähnt nicht unter FMX nutzen kann, da müsstest Du dann selber mal schauen.
Miniaturansicht angehängter Grafiken
bt82.jpg  
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.087 Beiträge
 
Delphi 12 Athens
 
#20

AW: Wie ZUGFeRD Demo von SH17 verwenden?

  Alt 26. Okt 2024, 17:11
Weiterer Vorschlag: Du hast die BT-82 (Information für das Zahlungsmittel) noch nicht abgedeckt.
Ich finde für viele solcher Elemente beim besten Willen keine passenden Textbausteine oder Beispiele

Zitat:
Payment means text BT-82 Text 0..1 58
Das in Textform ausgedrückte erwartete oder genutzte Zahlungsmitte
https://www.google.com/url?sa=t&sour...MOagIK2hYVrraG
Ist so ziemlich das Beste was ich da finden kann.

Was genau würde man denn da reinschreiben, ist das genormt, oder kann ich da "Kreditkarte", "Online-Payment" "PayPal", "Bar", "Überweisung" oder was auch sonst je nach Gusto reinschreiben?
Oder soll da konkreter nur "MasterCard", "Visa", "PayPal", Apple Pay" rein?

Woran sehe ich, ob es vordefinierte Textbausteine gibt, oder nicht?
Gibt es vielleicht irgendwo eine gute Beschreibung aller Felder mit verschiedenen Beispielen?

Geändert von Rollo62 (26. Okt 2024 um 19:27 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz