Neu Eigenes Feld aus Auftrag in Rechnung ausgeben.

tom13

Aktives Mitglied
13. Februar 2016
43
3
Hallo !

Ich möchte den Inhalt eine Eigenen Feldes aus dem Auftrag in der Rechnung ausgeben.

Als Beispiel: Wir tragen die Kilometerständer der Fahrzeuge in ein eigenes Feld des Auftrages ein. Somit kann man nachvollziehen, was bei dem jeweiligen KM-Stand getan wurde.
Den Wert möchte ich auf der Rechnung zu dem Auftrag haben. In List&Label geht das wohl nicht.
Wie kann man das lösen ?
Danke !!!
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Hallo @tom13,

mit welchen Vorlagen arbeitest Du, mit den neuen (englische Variablenbegriffe) oder mit den alten (deutsche Variablenbegriffe), und von welchem Datentyp ist das Eigene Feld, und wie lautet die Bezeichnung des Eigenen Feldes?
 
  • Gefällt mir
Reaktionen: Happy

tom13

Aktives Mitglied
13. Februar 2016
43
3
Datentyp ist Text und die Bezeichnung ist KM-Stand.
JTL_GetCustomerCustomField(KM-Stand", Report.Customer.InternalId)
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Dein Code würde ein Eigenes Feld beim Kunden mit der Bezeichnung "KM-Stand" abfragen, wobei da noch einführende Anführungszeichen vor der Bezeichnung fehlen.

Für ein Eigenes Feld beim Auftrag:

Code:
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 = 'KM-Stand';
")
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Für ein Eigenes Feld beim Auftrag:

Code:
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 = 'KM-Stand';
")

Ergänzung zur Sicherheit, falls noch jemand auf den Code stößt:

Er funktioniert so nur für Eigene Felder vom Typ Text. Sonst muss "cWertVarchar" ersetzt werden durch:
  • - "nWertInt" für Ganzzahlen
  • - "fWertDecimal" für Dezimalzahlen
  • - "dWertDateTime" für Datumsangaben
 

woka

Aktives Mitglied
25. April 2016
26
2
@frankell danke für den Code!
Falls jemand ein eigenes Feld in der XRechnungs-Vorlage (Export) braucht:

Code:
{%- capture queryEigenesFeld -%}
       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 ={{  Report.SalesOrderInternalId  | SqlEscape }}  AND ATTS.cName = 'Eigenes Feld'
{%- endcapture -%}
{%- assign EigenesFeld = queryEigenesFeld | DirectQueryScalar -%}

{{ Eigenes Feld }}
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
@frankell danke für den Code!
Falls jemand ein eigenes Feld in der XRechnungs-Vorlage (Export) braucht:

Code:
{%- capture queryEigenesFeld -%}
       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 ={{  Report.SalesOrderInternalId  | SqlEscape }}  AND ATTS.cName = 'Eigenes Feld'
{%- endcapture -%}
{%- assign EigenesFeld = queryEigenesFeld | DirectQueryScalar -%}

{{ Eigenes Feld }}

Auch hier sicherheitshalber noch mal der Hinweis:

Er funktioniert so nur für Eigene Felder vom Typ Text. Sonst muss "cWertVarchar" ersetzt werden durch:
  • - "nWertInt" für Ganzzahlen
  • - "fWertDecimal" für Dezimalzahlen
  • - "dWertDateTime" für Datumsangaben
 

Ähnliche Themen