Neu Artikelmerkmale auf Pickliste ausgeben?

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
Hallo,

seit Jahren arbeiten wir mit Packtisch+ und nutzen die Pickliste welche wir u.a. mit Informationen aus den Eigenen Feldern des Artikels befüllen.

Nun ist es so das wir ein bisschen Ordnung in unsere Stammdatenstruktur bringen wollen = Feste Werte wie zum Beispiel die Farbe oder für uns relevante Größe des Produkts wollen wir zukünftig nur noch in Artikelmerkmalen pflegen.

Einzig:
Ich finde keinen Weg diese auf der Pickliste auszugeben.

Eine Möglichkeit hatte ich mir erarbeitet - in der tabellarischen Ansicht (Berichtscontainer heist das) der Pickliste habe ich aber das Problem das die Information nicht dort erscheint wo ich sie erwarte = die Felder bleiben leer.

If(Merkmale.MerkmalName = "Farbe" ,Merkmale.Wert.Wert)
If(Merkmale.MerkmalName = "Größe" ,Merkmale.Wert.Wert)

Wenn ich unterhalb des Berichtscontainers eine Tabelle "Merkmale" ergänze dann kommt jeweils nach einer Zeile meiner Pickliste eine Zeile mit der Farbe und eine weitere Zeile mit der Größe und dann geht es wieder weiter mit der nächsten Zeile der Pickliste.

= irgendwo bin ich vielleicht in der richtigen Richtung untewegs aber wie bekomme ich die Merkmale in die selbe Zeile wie Artikelnummer, Menge usw.?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Hallo @Just-Commerce,

mit einem Kniff würde das theoretisch gehen, aber dann hättest Du pro Artikel zwei Zeilen, je eine für einen Merkmalwert, insoweit Deine Merkmale Farbe und Größe nicht mehrere Werte gleichzeitig annehmen. Das können sie ja prinzipiell. Es sind also immer so viele Zeilen wie Merkmalwerte ausgegeben werden.

Daher: Mit einfachen Bordmitteln ist das nicht sauber umzusetzen. Da müsstest Du schon die Merkmalwerte jeweils pro Spalte mit SQL aus der Datenbank holen. Das ist sauber und auch überschaubar aufwendig.
 

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
In diesem Fall sind es glücklicherweise Werte die nur einmal je Artikel da sind. Die stehen auch im Artikelnamen. Kann man, wie bei excel, mit Formeln sagen: Suche das drittletzte Wort oder gebe mir die zweite Zahlenkombination mit x Zeichen aus dem Artikelnamen aus?

SQL Abfrage einfach in die Druckvorlage rein kopieren ist demnach keine Lösung?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Artikelnamen. Kann man, wie bei excel, mit Formeln sagen: Suche das drittletzte Wort oder gebe mir die zweite Zahlenkombination mit x Zeichen aus dem Artikelnamen aus?

Wenn Du Dir das Leben selbst schwermachen möchtest, wird es womöglich irgendwie gehen.

Aber:

SQL Abfrage einfach in die Druckvorlage rein kopieren ist demnach keine Lösung?

Doch, das ist die einfachste Variante, wie ich bereits sagte:

Da müsstest Du schon die Merkmalwerte jeweils pro Spalte mit SQL aus der Datenbank holen. Das ist sauber und auch überschaubar aufwendig.
 

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
Da müsstest Du schon die Merkmalwerte jeweils pro Spalte mit SQL aus der Datenbank holen. Das ist sauber und auch überschaubar aufwendig.
Kannst du mir diesbezüglich weiter helfen?
Mit SQL hab ich gar keine Ahnung.

Ich hab ein bisschen weiter rumexperientiert:
Ich hab erkannt das man Werte aus einer anderen Tabelle (Relation?) übernehmen könnte = soll ich in das Dokument ne Abfrage der Merkmale machen und die dann in die Tabelle übernehmen?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Meine gute Tat für heute:

Code:
"Farbe: "
+
JTL_DirectQuery("
SELECT
    STRING_AGG(MWS.cWert, ', ')
FROM
    tMerkmalWertSprache AS MWS
    JOIN tArtikelMerkmal AS AM ON MWS.kMerkmalWert = AM.kMerkmalWert
    JOIN tMerkmalSprache AS MS ON AM.kMerkmal = MS.kMerkmal
WHERE
    MS.cName = 'Farbe'
    AND MWS.kSprache = 1
    AND MS.kSprache = 1
    AND AM.kArtikel = "+ Str$(Gruppierte_Pickpositionen.Artikel.InterneArtikelnummer) +"
")

Das ist der Code für die Merkmalwerte des Artikels für das Merkmal "Farbe", in einer eigenen Spalte. Für andere Merkmale tauscht man einfach deren Bezeichnungen aus (an zwei Stellen). Der Code ist für alte Auftrags-Picklisten (= deutschsprachige Variablen). In neuen Picklisten (= englischsprachige Variablen) muss Gruppierte_Pickpositionen.Artikel.InterneArtikelnummer durch PickListPositionOrder.ProductInternalId (Auftrags-Pickliste) bzw. PickListPositionWarehouse.ProductInternalId (Lager-Pickliste) ersetzt werden.
 

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
Das hat hervorragend geholfen! Du bist ein Schatz und ich bin mir sicher die gute Tat wird mir und andere die sie hier sehen, über viele Jahre regelmäßig helfen!

Gibts da kein Buch mit solchen Abfragen?
(Schade genug das chatGPT mich, wie so häufig, mit sowas im Stich lässt...)

Vielen Dank!
 

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
so, da ich die Auftragsbestätigung für andere Zwecke als Pickliste verwende - mag noch jemand ne gute Tat tun und mir verraten wie ich die Artikelmerkmale auf die Auftragsbestätigung bekomme?


Mit dieser Lösung die hier in 2022 genannt wurde bekomm ichs nicht hin (Syntaxfehler im Zusammenhang mit "SalesOrderPosition.ProductInternalId")
https://forum.jtl-software.de/threads/artikelmerkmale-auf-auftrag-ausgeben-formulardesigner.176590/

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$(SalesOrderPosition.ProductInternalId,"?")+"
AND tMerkmalWertSprache.kSprache=1
AND tMerkmalSprache.cName='DEINMERKMAL'")
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
so, da ich die Auftragsbestätigung für andere Zwecke als Pickliste verwende - mag noch jemand ne gute Tat tun und mir verraten wie ich die Artikelmerkmale auf die Auftragsbestätigung bekomme?

Du kannst meinen obigen Code immer noch genau so verwenden, wie er da steht. Du musst nur die Variable Gruppierte_Pickpositionen.Artikel.InterneArtikelnummer durch die Entsprechung in der Vorlage ersetzen, bspw. in den "neuen" Auftrags-Vorlagen SalesOrderPosition.ProductInternalId.
 

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
Ich konnte leider keine Entsprechung finden und habe deshalb gleich deine eingesetzt = da kommt leider "syntaxfehler: SalesOrderPosition.ProductInternalId kan nnicht interpretiert werden" 🙁
"Farbe: "
+
JTL_DirectQuery("
SELECT
STRING_AGG(MWS.cWert, ', ')
FROM
tMerkmalWertSprache AS MWS
JOIN tArtikelMerkmal AS AM ON MWS.kMerkmalWert = AM.kMerkmalWert
JOIN tMerkmalSprache AS MS ON AM.kMerkmal = MS.kMerkmal
WHERE
MS.cName = 'Farbe'
AND MWS.kSprache = 1
AND MS.kSprache = 1
AND AM.kArtikel = "+ Str$(SalesOrderPosition.ProductInternalId) +"
")
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Dann wirst Du wohl noch eine alte Vorlage (mit deutschsprachigen Variablen/Feldern) benutzen. Da lautet die Entsprechung:
Auftragspositionen.InterneArtikelnummer

In einer neuen Vorlage (mit englischsprachigen Variablen/Feldern) ansonsten noch:
SalesOrderPosition.Product.InternalId
 
  • Gefällt mir
Reaktionen: Just-Commerce

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
Du bist ein Schatz, vielen Dank! So hats geklappt!

Wo hätte ich sowas nachschauen können?
ChatGpt bringt mir grundsätzlich immer nur falsche Angaben wenn ich nach sowas frage 🙁
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Ein Nachschlagewerk mit allen Variablen gibt es nicht. Aber Du kannst in der Vorlage selbst den Variablenbaum durchsuchen. Dort, wo man im Formelfenster oben links die Variable im Variablenbaum auswählt, ist darüber ein Suchfeld. Dort kannst Du auch Wortteile eingeben. An dem Beispiel der deutsch- und englischsprachigen Variable siehst Du bspw., dass in beiden "Intern" enthalten ist. Gibst Du das als Suchbegriff ein, werden Dir alle Variablen mit diesem String angezeigt. Kennst Du also einen Begriff, der vermutlich in einer Variable vorkommt, kannst Du danach ganz einfach suchen.
KIs sind noch ne Weile keine Hilfe bei so einem Nischenprodukt wie "Variablennamen in L&L in der JTL-Wawi".
 

Just-Commerce

Sehr aktives Mitglied
22. Juli 2017
171
32
ja, den Variablenbaum durchsuche ich immer stundenlang und keines der von mir getesteten Felder funktioniert 🙁
Ich such vermutlich immer nach dem falschen.
Liegt hallt an der nicht vorhandenen Ausbildung 😉
 

Ähnliche Themen