Neu Externe Auftragsnummer in Rechnung einbinden - aber nur wenn befüllt - Wawi 1.5

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
So sollte das auch nicht.

Ersetze diesen Teil Deines vollständigen Codes

XML:
<!-- <ram:BuyerOrderReferencedDocument>-->
        <!--<ram:IssuerAssignedID>-->
          <!--{% capture query -%}-->
          <!--SELECT Report.ExternalSalesOrderNumbers AS Auftragsnummer-->
          <!--FROM dbo.trechnung-->
          <!--JOIN dbo.tBestellung ON trechnung.tBestellung_kBestellung = tBestellung.kBestellung-->
          <!--WHERE trechnung.kRechnung = {{ Report.InternalId | SqlEscape }}-->
          <!--{% endcapture -%}\-->
          <!--{% assign result = query | DirectQueryScalar -%}\-->
          <!--<![CDATA[{{ result }}]]>-->
        <!--</ram:IssuerAssignedID>-->
      <!-- </ram:BuyerOrderReferencedDocument>-->
      <!-- NEU wegen Bestellnummer des Kunden - 03.02.25 -->
        <ram:IssuerAssignedID>
        <![CDATA[{{ Report.ExternalSalesOrderNumbers }}]]>
        </ram:IssuerAssignedID>

durch diesen:


XML:
      <ram:BuyerOrderReferencedDocument>-->
        <!--<ram:IssuerAssignedID>-->
          <!--{% capture query -%}-->
          <!--SELECT Report.ExternalSalesOrderNumbers AS Auftragsnummer-->
          <!--FROM dbo.trechnung-->
          <!--JOIN dbo.tBestellung ON trechnung.tBestellung_kBestellung = tBestellung.kBestellung-->
          <!--WHERE trechnung.kRechnung = {{ Report.InternalId | SqlEscape }}-->
          <!--{% endcapture -%}\-->
          <!--{% assign result = query | DirectQueryScalar -%}\-->
          <!--<![CDATA[{{ result }}]]>-->
        <!--</ram:IssuerAssignedID>-->
      <!-- NEU wegen Bestellnummer des Kunden - 03.02.25 -->
        <ram:IssuerAssignedID>
          <![CDATA[{{ Report.ExternalSalesOrderNumbers }}]]>
        </ram:IssuerAssignedID>
      </ram:BuyerOrderReferencedDocument>
 

dougen

Gut bekanntes Mitglied
26. Oktober 2016
149
3
vielen Dank dafür.
Habe ich ersetzt - leider war es das auch nicht...

Hast Du vielleicht noch eine Idee?

Oder sollte ich das vielleicht neu anlegen und nur das oben anpassen!?
(Wo bekomme ich die "ursprüngliche" Datei her - Alzheimer läßt grüßen)
 

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Könnte durchaus Sinn ergeben, noch mal von vorne anzufangen und nur punktuell und Schritt für Schritt zu ändern.
Neue Vorlage unter Exportieren anlegen (XRechnung).
 

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Korrekt. Das, was Du wirklich nur benötigst, ist:

XML:
      <ram:BuyerOrderReferencedDocument>-->
      <!-- NEU wegen Bestellnummer des Kunden - 03.02.25 -->
        <ram:IssuerAssignedID>
          <![CDATA[{{ Report.ExternalSalesOrderNumbers }}]]>
        </ram:IssuerAssignedID>
      </ram:BuyerOrderReferencedDocument>

Auch die zweite Zeile ist eigentlich unnötig, aber nicht schlecht zur Dokumentation.
 

Vermessungsartikel

Gut bekanntes Mitglied
23. Februar 2014
203
21
Hallo zusammen und danke erst mal an Frank für deine Unterstützung :)

Nun ist es leider so, dass ich das Feld "externe Auftragsnummer" nicht befüllen kann, wenn es eine Shopbestellung ist (dann heißt das Feld nämlich Onlineshop Bestellnummer und ist grau). Ich nutze die Wawi 1.9.6.5.
Ich kann mir doch ein eigenes Feld für die Aufträge bauen und es beispielsweise "Kundeneigene Auftragsnummer" nennen. Aber wie bekomme ich das eigene Feld in meine Rechnungsvorlage und vorallem in die X-Rechnungsvorlage 3.0?
Wir haben Kunden, die im Shop bestellen und dann im Kommentarfeld ihre eigene Bestellnummer hinterlassen und die Rechnung gern elektronisch verarbeiten wollen. Momentan erledigen wir das händisch, also Rechnung exportieren, XML öffnen, OrderID suchen, ändern und speichern. Das ist aber echt zu umständlich auf Dauer...

Hat jemand einen Tipp?
 

HelmutB

Mitglied
2. Januar 2025
19
1
Hallo Zusammen,
da häng ich mich einfach mal drauf. Ich habe es auch probiert nur ist es so, dass die externe Auftragsnummer rechts untereinander geschrieben wird (siehe Screenshot)

Danke auch von mir für jeden Tip
 

Anhänge

  • Screenshot 2025-03-24 185710.jpg
    Screenshot 2025-03-24 185710.jpg
    5,1 KB · Aufrufe: 12

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Ich kann mir doch ein eigenes Feld für die Aufträge bauen und es beispielsweise "Kundeneigene Auftragsnummer" nennen. Aber wie bekomme ich das eigene Feld in meine Rechnungsvorlage und vorallem in die X-Rechnungsvorlage 3.0?

Den Inhalt des Eigenen Feldes, wenn es exakt so benannt ist, wie von Dir geschrieben, kannst Du so ermitteln:

SQL:
JTL_DirectQuery("
SELECT
    cWertVarchar
FROM
    Verkauf.tAuftragAttributSprache AS AATTS
    JOIN Verkauf.tAuftragAttribut AS AATT ON AATTS.kAuftragAttribut = AATT.kAuftragAttribut
    JOIN tAttributSprache AS ATTS ON AATT.kAttribut = ATTS.kAttribut
WHERE
    AATT.kAuftrag = "+str$(Report.SalesOrderInternalId)+"
    AND ATTS.cName = 'Ext. Nr.';
")
 

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Hallo Zusammen,
da häng ich mich einfach mal drauf. Ich habe es auch probiert nur ist es so, dass die externe Auftragsnummer rechts untereinander geschrieben wird (siehe Screenshot)

Danke auch von mir für jeden Tip

Es handelt sich dabei um drei Nummern, also 2 und 1 und 3 und nicht um eine Nummer 213, oder?

Je nachdem, wie mit Umbrüchen genau umgegangen wird, könntest Du es erst mal ganz profan hiermit probieren:

Code:
ReplaceStr$(Report.ExternalSalesOrderNumbers,"¶",", ")
 

Vermessungsartikel

Gut bekanntes Mitglied
23. Februar 2014
203
21
Den Inhalt des Eigenen Feldes, wenn es exakt so benannt ist, wie von Dir geschrieben, kannst Du so ermitteln:

SQL:
JTL_DirectQuery("
SELECT
    cWertVarchar
FROM
    Verkauf.tAuftragAttributSprache AS AATTS
    JOIN Verkauf.tAuftragAttribut AS AATT ON AATTS.kAuftragAttribut = AATT.kAuftragAttribut
    JOIN tAttributSprache AS ATTS ON AATT.kAttribut = ATTS.kAttribut
WHERE
    AATT.kAuftrag = "+str$(Report.SalesOrderInternalId)+"
    AND ATTS.cName = 'Ext. Nr.';
")

Vielen Dank für deine Hilfe. Und wie schreibe ich die Formel, wenn ich diese eigene Nummer vom Kunden nur haben möchte, wenn ich auch das entsprechende eigene Feld befüllt habe? Also sinngemäß so:
Nutze externe Auftragsnummer bzw. Shopbestellungsnummer nur wenn keine Kundeneigene Auftragsnummer vorhanden ist. Oder so ähnlich. Weißt du wie ich es meine? ;)
Bin leider kein Programmierer und war schon froh das ich die Rechnungsvorlage nach unseren Wünschen anpassen konnte 😁
 

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Und wie schreibe ich die Formel, wenn ich diese eigene Nummer vom Kunden nur haben möchte, wenn ich auch das entsprechende eigene Feld befüllt habe?

Das ginge so:

Code:
If(IsNullOrEmpty(JTL_DirectQuery("
SELECT
    cWertVarchar
FROM
    Verkauf.tAuftragAttributSprache AS AATTS
    JOIN Verkauf.tAuftragAttribut AS AATT ON AATTS.kAuftragAttribut = AATT.kAuftragAttribut
    JOIN tAttributSprache AS ATTS ON AATT.kAttribut = ATTS.kAttribut
WHERE
    AATT.kAuftrag = "+str$(Report.SalesOrderInternalId)+"
    AND ATTS.cName = 'Ext. Nr.';
")), Report.ExternalSalesOrderNumbers,
JTL_DirectQuery("
SELECT
    cWertVarchar
FROM
    Verkauf.tAuftragAttributSprache AS AATTS
    JOIN Verkauf.tAuftragAttribut AS AATT ON AATTS.kAuftragAttribut = AATT.kAuftragAttribut
    JOIN tAttributSprache AS ATTS ON AATT.kAttribut = ATTS.kAttribut
WHERE
    AATT.kAuftrag = "+str$(Report.SalesOrderInternalId)+"
    AND ATTS.cName = 'Ext. Nr.';
"))
 

Vermessungsartikel

Gut bekanntes Mitglied
23. Februar 2014
203
21
Das ginge so:

Code:
If(IsNullOrEmpty(JTL_DirectQuery("
SELECT
    cWertVarchar
FROM
    Verkauf.tAuftragAttributSprache AS AATTS
    JOIN Verkauf.tAuftragAttribut AS AATT ON AATTS.kAuftragAttribut = AATT.kAuftragAttribut
    JOIN tAttributSprache AS ATTS ON AATT.kAttribut = ATTS.kAttribut
WHERE
    AATT.kAuftrag = "+str$(Report.SalesOrderInternalId)+"
    AND ATTS.cName = 'Ext. Nr.';
")), Report.ExternalSalesOrderNumbers,
JTL_DirectQuery("
SELECT
    cWertVarchar
FROM
    Verkauf.tAuftragAttributSprache AS AATTS
    JOIN Verkauf.tAuftragAttribut AS AATT ON AATTS.kAuftragAttribut = AATT.kAuftragAttribut
    JOIN tAttributSprache AS ATTS ON AATT.kAttribut = ATTS.kAttribut
WHERE
    AATT.kAuftrag = "+str$(Report.SalesOrderInternalId)+"
    AND ATTS.cName = 'Ext. Nr.';
"))
Cool, danke, versuche ich dann gleich :)
 

HelmutB

Mitglied
2. Januar 2025
19
1
Es handelt sich dabei um drei Nummern, also 2 und 1 und 3 und nicht um eine Nummer 213, oder?

Je nachdem, wie mit Umbrüchen genau umgegangen wird, könntest Du es erst mal ganz profan hiermit probieren:

Code:
ReplaceStr$(Report.ExternalSalesOrderNumbers,"¶",", ")
Hallo frankell,
Es handelt sich indem Fall um eine vierstellige Bestellnummer, diese könnte aber auch mehr stellen haben.

Gruß
Helmut
 

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Hallo frankell,
Es handelt sich indem Fall um eine vierstellige Bestellnummer, diese könnte aber auch mehr stellen haben.

Gruß
Helmut

Wenn der Code nicht geholfen hat (?), dann kann es aber auch gut sein, dass es an der Vorlage liegt, bspw. an der fehlenden Breite des Containers, in dem die ext. Auftragsnummer angezeigt wird. So sieht mir das nach dem Screenshot zu urteilen nämlich aus.
 

dougen

Gut bekanntes Mitglied
26. Oktober 2016
149
3
Korrekt. Das, was Du wirklich nur benötigst, ist:

XML:
      <ram:BuyerOrderReferencedDocument>-->
      <!-- NEU wegen Bestellnummer des Kunden - 03.02.25 -->
        <ram:IssuerAssignedID>
          <![CDATA[{{ Report.ExternalSalesOrderNumbers }}]]>
        </ram:IssuerAssignedID>
      </ram:BuyerOrderReferencedDocument>

Auch die zweite Zeile ist eigentlich unnötig, aber nicht schlecht zur Dokumentation.

1000 Dank - läuft

(sorry für die späte Rückmeldung - hab noch mehr wawi-Probleme)

viele Grüße
Alex
 
Ähnliche Themen
Titel Forum Antworten Datum
Amazon VCS-Lite und Externe Belege JTL-Wawi 1.11 1
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Neu VCS Lite / IDU blockiert – Aufträge fälschlich unter "Externe Rechnungen" (Amazon API Fehler) Amazon-Anbindung - Fehler und Bugs 9
Rechnung mit CC verschicken Vorlagen 2.0 JTL-Wawi 1.11 12
Rechnung wird zu spät erzeugt JTL-Wawi 2.0 1
Anzahlung / Vorauszahlung / Proforma-Rechnung JTL-Wawi 2.0 4
Rechnung an geänderte Emailadresse geht immer noch an die Alte (Ebay-Auftrag) JTL-Wawi 1.11 6
Neu DotLiquide Variable Voraussichtliches Lieferdatum auf Rechnung User helfen Usern - Fragen zu JTL-Wawi 1
Neu Betrag auf der Rechnung nach Rechnungskorrektur User helfen Usern - Fragen zu JTL-Wawi 1
Neu Eignes Feld aus Auftrag in Rechnung anzeigen lassen JTL-WaWi 1.11.10 Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Beantwortet JTL-POS „Rechnung drucken“ Allgemeine Fragen zu JTL-POS 2
Neu Suche Workflow: Erstbestellung Shop auf Rechnung -> Auftrag Zurückhalten JTL-Wawi - Ideen, Lob und Kritik 1
Neu Falsch erzeugte Ausgangszahlung bei Teilzahlungen und Retoure (Kauf auf Rechnung) Arbeitsabläufe in JTL-Wawi 0
1.11.7 Workflow versendet soll Rechnung 1x drucken, druckt aber 2x JTL-Wawi 1.11 1
Zugriff verweigert nach Umzug auf neuen Rechner, X-Rechnung kann nicht gespeichert werden JTL-Wawi 1.11 4
Neu Abgleich mit Amazon Sendungsnummer / Rechnung Arbeitsabläufe in JTL-Wawi 0
Rechnung speichern - WaWi wird geschlossen JTL-Wawi 2.0 4
Neu Zahlung zugewiesen, aber keine Rechnung wird angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Neu Zahlungsart Rechnung Allgemeine Fragen zu JTL-POS 0
Neu Stornobeleg für Verkauf ohne Rechnung User helfen Usern - Fragen zu JTL-Wawi 9
Neu Ausdruck Rechnung beim Workflow nicht korrekt formatiert User helfen Usern - Fragen zu JTL-Wawi 6

Ähnliche Themen