Neu Stückliste des (Stücklisten-)Artikels drucken

mahohmh

Mitglied
19. September 2023
4
1
Hallo,

ich will eine einfache Druckausgabe der Stückliste (Komponenten- ArtNr, Name, Menge) eines Stücklistenartikels ermöglichen.
Bisher habe ich es per SQL DirectQuery in einer Artikeletikett Vorlage versucht. Da ich aber keine Tabellen einfügen kann, gestaltet es sich sehr schwierig, ein gescheites Layout zu kreieren.

Es muss doch sicher eine bessere Lösung geben?
Ameisen-CSV Export ist nicht zielführend, da es direkt in der Wawi unter Auswahl des Artikels möglich sein soll.

VG
 

frankell

Sehr aktives Mitglied
9. September 2019
1.907
550
Flensburg
Hallo @mahohmh,

es geht auch über einen Workaround im Artikeletikett:

Man kann zwar keine Tabelle erstellen, aber man kann für jede Spalte der gewünschten Tabelle ein Textfeld nutzen, in dem eine SQL-Query auch nur eine Spalte ausgibt und als Zeilentrennzeichen ein Absatz gesetzt wird. Hier mal ein Beispiel für zwei Spalten, also zwei identisch hohe, nebeneinander liegende Textfelder:

Code:
JTL_DirectTableQuery("
SELECT SA.cArtNr
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

Code:
JTL_DirectTableQuery("
SELECT SA.cName
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

So bekommt man eine Quasi-Tabelle.

Man muss dabei natürlich darauf achten, dass keine Zeilenumbrüche entstehen, aber dem kann man ja leicht vorbeugen. Außerdem muss man darauf achten, dass alle Spalten auch in der derselben Reihenfolge ausgegeben werden. Was oben durch die Sortierung über nSort geschieht.
 

mahohmh

Mitglied
19. September 2023
4
1
Hallo @mahohmh,

es geht auch über einen Workaround im Artikeletikett:

Man kann zwar keine Tabelle erstellen, aber man kann für jede Spalte der gewünschten Tabelle ein Textfeld nutzen, in dem eine SQL-Query auch nur eine Spalte ausgibt und als Zeilentrennzeichen ein Absatz gesetzt wird. Hier mal ein Beispiel für zwei Spalten, also zwei identisch hohe, nebeneinander liegende Textfelder:

Code:
JTL_DirectTableQuery("
SELECT SA.cArtNr
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

Code:
JTL_DirectTableQuery("
SELECT SA.cName
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

So bekommt man eine Quasi-Tabelle.

Man muss dabei natürlich darauf achten, dass keine Zeilenumbrüche entstehen, aber dem kann man ja leicht vorbeugen. Außerdem muss man darauf achten, dass alle Spalten auch in der derselben Reihenfolge ausgegeben werden. Was oben durch die Sortierung über nSort geschieht.
Danke für die schnelle Antwort!
Tatsächlich habe ich es aktuell genau so umgesetzt, allerdings hatte ich gehofft, es gäbe eine elegantere Lösung.

Welchen Ansatz hast du, die Zeilenumbrüche zu verhindern?
In den Eigenschaften des Textfeldes Umbrüche zu verhindern sorgt leider dafür, dass die Absätze als Zeilentrennzeichen ebenfalls übergangen werden und die gesamte Ausgabe in einer Zeile landet.
 

frankell

Sehr aktives Mitglied
9. September 2019
1.907
550
Flensburg
Tatsächlich habe ich es aktuell genau so umgesetzt, allerdings hatte ich gehofft, es gäbe eine elegantere Lösung.

Die gäbe es erst, wenn man Berichtscontainer mit Tabellen wirklich freiem Inhalt in L&L einbauen könnte. Leider.

Welchen Ansatz hast du, die Zeilenumbrüche zu verhindern?
In den Eigenschaften des Textfeldes Umbrüche zu verhindern sorgt leider dafür, dass die Absätze als Zeilentrennzeichen ebenfalls übergangen werden und die gesamte Ausgabe in einer Zeile landet.

Von den Umbruchs-Einstellungen gehen eigentlich nur "Optimal einpassen" und "Umbrechen". Das ist aber auch stark von der Schriftgröße abhängig, was da geht.

Aber eine echte Zeichenbegrenzung bekommt man eh nur in der Query hin, bspw. durch einen CAST in einen VARCHAR mit fixer Länge oder durch einen LEFT mit fixer Zeichenanzahl, also am ehesten letzteres.
 
  • Gefällt mir
Reaktionen: Grail und mahohmh

Grail

Mitglied
9. Oktober 2023
6
0
Hallo @mahohmh,

es geht auch über einen Workaround im Artikeletikett:

Man kann zwar keine Tabelle erstellen, aber man kann für jede Spalte der gewünschten Tabelle ein Textfeld nutzen, in dem eine SQL-Query auch nur eine Spalte ausgibt und als Zeilentrennzeichen ein Absatz gesetzt wird. Hier mal ein Beispiel für zwei Spalten, also zwei identisch hohe, nebeneinander liegende Textfelder:

Code:
JTL_DirectTableQuery("
SELECT SA.cArtNr
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

Code:
JTL_DirectTableQuery("
SELECT SA.cName
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

So bekommt man eine Quasi-Tabelle.

Man muss dabei natürlich darauf achten, dass keine Zeilenumbrüche entstehen, aber dem kann man ja leicht vorbeugen. Außerdem muss man darauf achten, dass alle Spalten auch in der derselben Reihenfolge ausgegeben werden. Was oben durch die Sortierung über nSort geschieht.
Habe hier das gleiche Problem. Die beiden Codes funktionieren schon mal. Wie müsste ich die Codes anpassen um auch die Menge und die Warengruppe noch angezeigt zu bekommen?

Besten Dank vorab.

VG
 

Grail

Mitglied
9. Oktober 2023
6
0
Du ersetzt SA.cName/SA.cArtNr durch SL.fAnzahl bzw. durch SA.kWarengruppe.
Super. Vielen Dank. Das hat soweit schon mal funktioniert, allerdings zeigt er mir bei der Warengruppe nur die Nummer der Warengruppen an. Ist es auch machbar, dass er mir den Namen der Warengruppe anzeigt?

Bei der Menge zeigt er mir auch ca. 10 Nachkommastellen an. Kann man das auf 2 Nachkommastellen begrenzen?

Bekommt man die Warengruppe auch irgendwie in eine Pickliste mit rein? Finde dazu bisher auch nichts passendes.

Besten Dank vorab.

VG
 

frankell

Sehr aktives Mitglied
9. September 2019
1.907
550
Flensburg
Super. Vielen Dank. Das hat soweit schon mal funktioniert, allerdings zeigt er mir bei der Warengruppe nur die Nummer der Warengruppen an. Ist es auch machbar, dass er mir den Namen der Warengruppe anzeigt?

Code:
JTL_DirectTableQuery("
SELECT SG.cName
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
JOIN tWarengruppe AS WG ON SA.kWarengruppe = WG.kWarengruppe
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

Bei der Menge zeigt er mir auch ca. 10 Nachkommastellen an. Kann man das auf 2 Nachkommastellen begrenzen?

CAST(SL.fAnzahl AS DECIMAL(5,2))

Bekommt man die Warengruppe auch irgendwie in eine Pickliste mit rein? Finde dazu bisher auch nichts passendes.

Den prinzipiellen Code dazu hast Du ja jetzt, s. o.
 
  • Gefällt mir
Reaktionen: Grail

Grail

Mitglied
9. Oktober 2023
6
0
Code:
JTL_DirectTableQuery("
SELECT SG.cName
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
JOIN tWarengruppe AS WG ON SA.kWarengruppe = WG.kWarengruppe
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")
Perfekt. Nachkommastellen passen jetzt auch.
Wenn ich aber den Code für den Warengruppenname nutze, bekomme ich folgenden Fehler:
Der mehrteilige Bezeichner "SG.cName" konnte nicht gefunden werden. (siehe Bild)

Hab ich da noch irgendwo ein Fehler drin?
 

Anhänge

  • warengruppe.jpg
    warengruppe.jpg
    35,8 KB · Aufrufe: 2

frankell

Sehr aktives Mitglied
9. September 2019
1.907
550
Flensburg
da bekomme ich jetzt folgende Fehlermeldung... (siehe Anhang)

Den Anhang 123542 betrachten

Jetzt hast Du ja auch eine andere Abfrage benutzt.

Nutze diese hier

Code:
JTL_DirectTableQuery("
SELECT SG.cName
FROM tStueckliste AS SL
JOIN vStandardArtikel AS SA ON SL.kArtikel = SA.kArtikel
JOIN tWarengruppe AS WG ON SA.kWarengruppe = WG.kWarengruppe
WHERE SL.kVaterArtikel = "+Fstr$(Artikel.InterneArtikelnummer,"?")+"
ORDER BY SL.nSort ASC
","","¶")

und ersetze dort SG.cName durch WG.cName.
 
  • Gefällt mir
Reaktionen: Grail

Grail

Mitglied
9. Oktober 2023
6
0
Mega Gut. jetzt passt alles. Vielen Dank.
Hätte nur noch eine letzte Frage...😅
Die Angabe der Warengruppe benötige ich auch in der Pickliste. Wenn ich den Code jetzt 1:1 auch in der Pickliste nutze bekomme ich folgenden Fehler:

pick.png

Kannst du mir damit noch helfen?
 

frankell

Sehr aktives Mitglied
9. September 2019
1.907
550
Flensburg
Du musst dort die Variable Artikel.InterneArtikelnummer durch die passende der Picklistenvorlage ersetzen. Das funktioniert aber nur, wenn auch tatsächlich in der Pickliste der Stücklistenvater und nicht die -kinder ausgegeben werden.
Die Variablen kannst Du durchsuchen, siehe das entsprechende Feld unter "Variablen/Felder". Wenn Du dort einen Begriff eingibst, wird live gesucht. Bspw. könntest Du "intern" eingeben, dann wirst Du diverse Variablen finden, und Du musst nur die passende auswählen.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Stückliste Komponente Sonderpreis User helfen Usern - Fragen zu JTL-Wawi 0
Stückliste Konfigurator JTL-Wawi 1.10 1
Kunde haut mir die E-Rechnung um die Ohren. Länge des BT-131 sollte 2 Nachkommastellen haben JTL-Wawi 1.9 2
Neu Ständig wiederkehrender Fehler beim Ableich des Lister 2.0 Amazon-Lister - Fehler und Bugs 5
Neu Ausschalten des Menü Servicedesk und des Buttons in der WaWi User helfen Usern - Fragen zu JTL-Wawi 1
Neu Ändern des Dokumententitels oder andere Wege der Datenübergabe in das Dokument hinein für Artikeletiketten. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu SEO-Weiterleitung im Backend auf Startseite des Shops Umstieg auf JTL-Shop 2
Neu Offizielle Vorstellung des CSS Formular- und Retouren-Manager Plugins für JTL-Shop 0
Artikelübersicht - in Aufträgen - "Firma" fehlt weiterhin - nur der Name des Ansprechpartners wird angezeigt JTL-Wawi 1.10 4
Neu neue Sendungsnummer (DHL) wird nach Storno des 1. Label nicht an Amazon übergeben JTL-ShippingLabels - Fehler und Bugs 9
Neu Anzeige des Lagerbestands unter "Verknüpfte Artikel" wird nicht aktualisiert JTL-Wawi - Fehler und Bugs 4
Neu Gibt es eine Möglichkeit im On Page Composer einen Entwurf als Vollbild zu sehen? Ohne die Menüleiste des Editors nebendran? User helfen Usern - Fragen zu JTL-Wawi 6
Neu JTL WMS Installation, Wahl des richtigen Lagerplatztypen und Ablauf Installation von JTL-WMS / JTL-Packtisch+ 4
Neu Auswahl des Lagers ohne Funktion Allgemeine Fragen zu JTL-Shop 4
Neu Mindestzeichenanzahl des Suchbegriffs lässt sich nicht verändern JTL-Shop - Fehler und Bugs 3
FFN Der Status des Auftrags konnte nicht abgeändert werden JTL-Wawi 1.9 1
Neu Stücklisten Artikel JTL-Wawi - Fehler und Bugs 0
Stücklisten Auswertung - Bedarfsermittlung vom Vaterartikel JTL-Wawi 1.10 0
Neu Lagerbestand von Stücklisten und das Zusammenspiel zwischen Überverkäufen erlauben in Komponenten Umfragen rund um JTL 10

Ähnliche Themen