Artikel Merkmale in der Rechnung anzeigen

Gourmet1

Mitglied
21. März 2023
8
0
Hallo Zusammen,
ich würde gerne auf meiner Rechnung bestimmte Merkmale von Artikel abbilden.
Jetzt habe ich eine SQL Abfrage gebastelt, die nur für eine bestimmte Artikelnummer funktioniert.
Ich wollte in Editor in JTL InvoicePosition.SKU einfügen. Leider kann ich aber anscheinend in einer DirectQuery diesen Bezug nicht mehr herstellen.
Kann mir hier bitte jemand helfen?
Bisher sieht meine Abfrage so aus:
JTL_DirectQuery("SELECT

tMerkmalWertSprache.cWert AS Merkmalwert
FROM
tArtikel
JOIN
tArtikelMerkmal ON tArtikel.kArtikel = tArtikelMerkmal.kArtikel
JOIN
tMerkmal ON tArtikelMerkmal.kMerkmal = tMerkmal.kMerkmal
JOIN
tMerkmalWert ON tArtikelMerkmal.kMerkmalWert = tMerkmalWert.kMerkmalWert
JOIN
tMerkmalWertSprache ON tMerkmalWert.kMerkmalWert = tMerkmalWertSprache.kMerkmalWert
WHERE
tArtikel.cArtNr = '103756g030' --
AND tMerkmal.kMerkmal = 1; --
")

Vielen Vielen Dank für eure Unterstützung
Mit freundlichen Grüßen
Benjamin Kröhle
 

ple

Sehr aktives Mitglied
20. August 2019
896
188
ich konnte es jetzt nicht testen, aber geh mal auf die interne id, statt SKU. Die kann es auch mehrmals geben.
WHERE tArtikelbildPlattform.kArtikel =" + str$(InvoicePosition.ProductInternalId,0,0) + "
bitte mal gegen tartikel.kartikel austauschen

Für die alte Vorlage oder Artikelettiket hätte ich was, welches auf die SKU zugreift.

Code:
JTL_DirectTableQuery("
SELECT tMerkmalWertSprache.cWert
FROM tArtikel
INNER JOIN tArtikelMerkmal ON tArtikel.kArtikel = tArtikelMerkmal.kArtikel
INNER JOIN tMerkmal ON tMerkmal.kMerkmal = tArtikelMerkmal.kMerkmal
INNER JOIN tMerkmalSprache ON tArtikelMerkmal.kMerkmal = tMerkmalSprache.kMerkmal AND tMerkmalSprache.kSprache = 1
INNER JOIN tMerkmalWertSprache ON tArtikelMerkmal.kMerkmalWert = tMerkmalWertSprache.kMerkmalWert AND tMerkmalWertSprache.kSprache = 1
WHERE tMerkmalSprache.cName IN ('Merkmalname_1', 'Merkmalname_2',  'Merkmalname_3')
AND tArtikel.cArtNr = '"+Artikel.Artikelnummer+"'
ORDER BY tMerkmal.nSort ASC;
",": ","¶")
 

Gidigidens

Aktives Mitglied
8. Oktober 2019
10
0
Hallo Benjamin,
ich verwende folgenden Code:
Exemplarisch für das Merkmal Material.
Vielleicht hilft dir das. 😉

Cond(JTL_DirectQuery ("SELECT tMerkmalWertSprache.cWert FROM tMerkmalWertSprache
JOIN tArtikelMerkmal ON tArtikelMerkmal.kMerkmalWert=tMerkmalWertSprache.kMerkmalWert
JOIN tmerkmal on tArtikelMerkmal.kMerkmal=tmerkmal.kMerkmal
JOIN tMerkmalSprache ON tArtikelMerkmal.kMerkmal=tMerkmalsprache.kMerkmal
WHERE tArtikelMerkmal.kArtikel="+Fstr$(Auftragspositionen.Artikel.InterneArtikelnummer,"1")+"
AND tMerkmalWertSprache.kSprache=1
AND tMerkmalSprache.cName='Material'")>0,"Material: "+JTL_DirectQuery ("SELECT tMerkmalWertSprache.cWert FROM tMerkmalWertSprache
JOIN tArtikelMerkmal ON tArtikelMerkmal.kMerkmalWert=tMerkmalWertSprache.kMerkmalWert
JOIN tmerkmal on tArtikelMerkmal.kMerkmal=tmerkmal.kMerkmal
JOIN tMerkmalSprache ON tArtikelMerkmal.kMerkmal=tMerkmalsprache.kMerkmal
WHERE tArtikelMerkmal.kArtikel="+Fstr$(Auftragspositionen.Artikel.InterneArtikelnummer,"?")+"
AND tMerkmalWertSprache.kSprache=1
AND tMerkmalSprache.cName='Material'"))
 

Gourmet1

Mitglied
21. März 2023
8
0
Hallo Benjamin,
ich verwende folgenden Code:
Exemplarisch für das Merkmal Material.
Vielleicht hilft dir das. 😉

Cond(JTL_DirectQuery ("SELECT tMerkmalWertSprache.cWert FROM tMerkmalWertSprache
JOIN tArtikelMerkmal ON tArtikelMerkmal.kMerkmalWert=tMerkmalWertSprache.kMerkmalWert
JOIN tmerkmal on tArtikelMerkmal.kMerkmal=tmerkmal.kMerkmal
JOIN tMerkmalSprache ON tArtikelMerkmal.kMerkmal=tMerkmalsprache.kMerkmal
WHERE tArtikelMerkmal.kArtikel="+Fstr$(Auftragspositionen.Artikel.InterneArtikelnummer,"1")+"
AND tMerkmalWertSprache.kSprache=1
AND tMerkmalSprache.cName='Material'")>0,"Material: "+JTL_DirectQuery ("SELECT tMerkmalWertSprache.cWert FROM tMerkmalWertSprache
JOIN tArtikelMerkmal ON tArtikelMerkmal.kMerkmalWert=tMerkmalWertSprache.kMerkmalWert
JOIN tmerkmal on tArtikelMerkmal.kMerkmal=tmerkmal.kMerkmal
JOIN tMerkmalSprache ON tArtikelMerkmal.kMerkmal=tMerkmalsprache.kMerkmal
WHERE tArtikelMerkmal.kArtikel="+Fstr$(Auftragspositionen.Artikel.InterneArtikelnummer,"?")+"
AND tMerkmalWertSprache.kSprache=1
AND tMerkmalSprache.cName='Material'"))
Leider bekomme ich hier den Syntaxfehler: Auftragspositionen.Artikel.InterneArtikelnummer kann nicht interpretiert werden. Ich habe an anderer Stelle schon von dieser Lösung gelesen und verstehe nicht, wieso es in meinem Formular nicht funktioniert. Ich arbeite mit JTL Wawi 1.9.5.4.
 

ple

Sehr aktives Mitglied
20. August 2019
896
188
Hast du die alte oder neue Vorlage?
Wo sollen die Merkmale stehen? In der Tabelle wo die Artikel stehen? Oder wie
 

ple

Sehr aktives Mitglied
20. August 2019
896
188
HAst du englische Variablen oder deutsche variablen. Mit der Rechnungsvorlage 2.0 sollten nur englische Variablen dort stehen.
 

Gidigidens

Aktives Mitglied
8. Oktober 2019
10
0
Leider bekomme ich hier den Syntaxfehler: Auftragspositionen.Artikel.InterneArtikelnummer kann nicht interpretiert werden. Ich habe an anderer Stelle schon von dieser Lösung gelesen und verstehe nicht, wieso es in meinem Formular nicht funktioniert. Ich arbeite mit JTL Wawi 1.9.5.4.
Ich mit Wawi 1.9.4.5........Na da freu ich mich doch aufs Update 😉
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
JTL_DirectQuery("SELECT

tMerkmalWertSprache.cWert AS Merkmalwert
FROM
tArtikel
JOIN
tArtikelMerkmal ON tArtikel.kArtikel = tArtikelMerkmal.kArtikel
JOIN
tMerkmal ON tArtikelMerkmal.kMerkmal = tMerkmal.kMerkmal
JOIN
tMerkmalWert ON tArtikelMerkmal.kMerkmalWert = tMerkmalWert.kMerkmalWert
JOIN
tMerkmalWertSprache ON tMerkmalWert.kMerkmalWert = tMerkmalWertSprache.kMerkmalWert
WHERE
tArtikel.cArtNr = '103756g030' --
AND tMerkmal.kMerkmal = 1; --
")

Falls das noch nicht gelöst ist, muss lediglich tArtikel.cArtNr = '103756g030' ersetzt werden:

In einer alten Vorlage: tArtikel.kArtikel = "+str$(Auftragspositionen.Artikel.InterneArtikelnummer)+"
In einer neuen Vorlage: tArtikel.kArtikel = "+str$(InvoicePosition.Product.InternalId)+"
 

Gourmet1

Mitglied
21. März 2023
8
0
Hi, also vielen Dank. Mein Problem wurde schon gelöst.
Muss ich das hier irgendwie einstellen, dass der Status angepasst wird?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Nicht zwingend, aber es ist immer prima, wenn neben dem Problem auch die Lösung im Thread landet. So haben am Ende alle was davon. 🙂
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ple

Ähnliche Themen