Einzelnen Beitrag anzeigen

jziersch

Registriert seit: 9. Okt 2003
Ort: München
258 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: WPXOrder - X-Factur (ZUGFeRD) XML Daten lesen und erzeugen

  Alt 25. Jan 2025, 10:35
In der TWPXSeller gibt es VATID und TATid. Was gehört da rein? Es gibt ja die Steuernummer und die UmsStID.
Du meinst wahrscheinlich TCompanyData

Aktuell wird nur VATID verwendet (also UmsStID) und entsprechend zugewiesen. Alle anderen Felder sind zugänglich über den Pfad zu der TTradeParty Struktur. Als Beispielcode siehe bitte die TCompanyData.AssignTo()

Edit: Ich habe den code wie unten ergänzt. Damit wird sowohl TaxID also auch VATId geschrieben. Es wird dann ein mehrfach Eintrag erzeugt. Ob das so unterstützt wird kann ich im Moment nicht sagen. Der code ist auf jeden Fall aber ein gutes Beispiel wie man mehrfache Einträge erzeugen kann.

Code:
procedure TCompanyData.AssignTo(Dest: TTradeParty);
var i : Integer;
begin
  if Self<>nil then
  begin
    i := 1;
    if VATID<>'' then
    begin
       Dest.SpecifiedTaxRegistration[i].ID.SetValue(VATID,TTaxID.VA_VAT_number);
       inc(i);
    end;
    if TAXId<>'' then
    begin
       Dest.SpecifiedTaxRegistration[i].ID.SetValue(TAXId,TTaxID.FC_tax_number);
    end;
// ...
  end;
end;

procedure TCompanyData.AssignFrom(Source: TTradeParty);
var val : TWPXElement;
    i : Integer;
begin
  if Source<>nil then
  begin  
    VATID := '';
    TAXId := '';
    if Source.ReadElementValue([Integer(TXTradeParty.SpecifiedTaxRegistration)], val) then
    begin
       for i := 0 to (val as TTaxRegistration).ListCount-1 do
       begin
          if TTaxRegistration(val)[i].ID.schemeID=TTaxID.VA_VAT_number then
               VATID := TTaxRegistration(val)[i].ID.ValueStr
          else TAXId := TTaxRegistration(val)[i].ID.ValueStr;
       end;
    end;
//    ...
  end;
end;
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF

Geändert von jziersch (25. Jan 2025 um 11:04 Uhr) Grund: Schreibe TaxID
  Mit Zitat antworten Zitat