Neu Anleitung: Artikeletiketten für Auftrag, Rechnung, Lieferschein etc. drucken mit Etikettenanzahl = Artikelanzahl

John

Sehr aktives Mitglied
3. März 2012
3.065
672
Berlin
Hi,

länger als ich hier im Forum unterwegs bin wird sich schon die Funktion gewünscht, passend für einen Auftrag, Rechnung, Lieferschein etc. Artikeletiketten drucken zu können. Leider bewegt sich JTL nicht.
Zwar gibt es eine käufliche Lösung in Form einer Durckvorlage aber diese duckt immer nur ein Etikett je Position, auch wenn der Artikel mit mehr als Menge 1 ausgewiesen ist.

Hier meine Lösung dazu ohne umbebaute Vorlagen und MIT passender Anzahl an Etiketten.

1. Manueller Artikel Workflow Drucken anlegen
Es wird ein manueller Artikel Workflow angelegt mit:
- Name: Etikett drucken
- Ausgabe
- Ausgabeobjekt = Artikel\Ausgabeobjekt
- Ausgabemodus = Drucken
- Vorlagenset Dein Artikeletikett
- Auf Ausgabe warten AKTIV
- Menge bekommt folgenden Code:
Code:
{% assign AnzahlDrucken = 0 -%}\
{% assign Liste = GlobaleTexte.Intern.tmp-Wf-EtikettenDrucken-Anzahl.Deutsch | Split: '|' -%}\
{% for Element in Liste -%}\
    {% assign arrArtikelNummerInternUndMenge = Element | Split: '=' -%}\
    {% assign ArtikelNummerIntern = arrArtikelNummerInternUndMenge | First -%}\
    {% if ArtikelNummerIntern == Vorgang.Allgemein.Stammdaten.InterneArtikelnummer -%}\
    {% assign AnzahlDrucken = arrArtikelNummerInternUndMenge | Last -%}\
    {% endif -%}\
{% endfor %}{{ AnzahlDrucken }}

2. Manueller Auftrag Worklfow anlegen
Es wird ein manueller Auftrags Workflow angelegt mit zwei Aktionen:

Aktion 1
- Werte setzen
- Variable "GlobaleTexte.Intern.tmp-Wf-EtikettenDrucken-Anzahl.Deutsch"
- Wert bekommt folgenden Code:
Code:
{% for Position in Vorgang.AuftragsPositionen -%}\
{% if Position.Positionstyp == 1 -%}\
{{ Position.InterneArtikelnummer }}={{ Position.Menge }}|\
{% endif -%}\
{% endfor -%}

Aktion 2
- Workflow Ereignis auslösen
- Bezugsobjekt = Auftrag\Auftragspositionen\Artikelliste\Objektliste
- Ereignis = Etikett drucken (= der Workflow, der in (1) angelegt wurde)

Der Code in (1) und (2) nutzt hilfsweise einen globalen Text als Variable, um darin eine Liste aus kArtikel bzw. ArtikelNummerIntern und der zugehörigen Menge abzulegen.
Diese Variable muß von Euch selbst in der Wawi unter Einstellungen > Globale Textbausteien angelegt und die benutzte Gruppe/Name dann im Code angepasst werden.
In meinem Bespiel habe ich eine Gruppe mit dem Namen "Intern" mit dem Inhalt "tmp-Wf-EtikettenDrucken-Anzahl" angelegt.

Einschränkungen & Überlegungen
- Der Workflow funktioniert, solange man ihn in Ruhe für EINEN Auftrag ausdrucken lässt, bevor man ihn erneut benutzt.
- Markieren von mehreren Aufträgen ist nicht möglich, bzw. führt zu Chaos, weil der Inhalt der Hilfsvariable mit dem Inhalt eines anderen Auftrags überschrieben würde, bevor alle Etiketten des ersten Auftrags gedruckt wurden. Hier spielen unter anderem physikalische Druckergeschwindigkeit und Spooler mit rein.
- Mehrbenutzerbetrieb ist nur möglich, wenn ein Benutzer den Worklfow erst dann nutzt, wenn ein anderer Benutzer komplett ausgedruckt hat.
- Teilbare Mengen sind bisher nicht berücksichtigt. Unklar, was passiert.
- Ist ein Artikel mehrfach im Auftrag jedoch als unterschiedliche Positionen vorhanden, so wird für alle Vorkommen des Artikels die Anzahl des ersten Vorkommen im Auftrag an Artikel ausgegeben.

Einrichten lassen
Wem das alles technisch zu anspruchsvoll ist, kann sich gerne per PM/eMail bei mir melden und ich richte das zum fairen Stundensatz auf Rechnung in 15 Minuten per Fernwartung ein.

Vielleicht habt Ihr auch noch Ideen, wie man den Ansatz weiter ausbauen kann.

Viele Grüße

John
 
Zuletzt bearbeitet:

curra

Sehr aktives Mitglied
5. Juli 2007
2.742
13
Hi,

länger als ich hier im Forum unterwegs bin wird sich schon die Funktion gewünscht, passend für einen Auftrag, Rechnung, Lieferschein etc. Artikeletiketten drucken zu können. Leider bewegt sich JTL nicht.
Zwar gibt es eine käufliche Lösung in Form einer Durckvorlage aber diese duckt immer nur ein Etikett je Position, auch wenn der Artikel mit mehr als Menge 1 ausgewiesen ist.

Hier meine Lösung dazu ohne umbebaute Vorlagen und MIT passender Anzahl an Etiketten.

1. Manueller Artikel Workflow Drucken anlegen
Es wird ein manueller Artikel Workflow angelegt mit:
- Name: Etikett drucken
- Ausgabe
- Ausgabeobjekt = Artikel\Ausgabeobjekt
- Ausgabemodus = Drucken
- Vorlagenset Dein Artikeletikett
- Auf Ausgabe warten AKTIV
- Menge bekommt folgenden Code:
Code:
{% assign AnzahlDrucken = 0 -%}\
{% assign Liste = GlobaleTexte.Intern.tmp-Wf-EtikettenDrucken-Anzahl.Deutsch | Split: '|' -%}\
{% for Element in Liste -%}\
    {% assign arrArtikelNummerInternUndMenge = Element | Split: '=' -%}\
    {% assign ArtikelNummerIntern = arrArtikelNummerInternUndMenge | First -%}\
    {% if ArtikelNummerIntern == Vorgang.Allgemein.Stammdaten.InterneArtikelnummer -%}\
    {% assign AnzahlDrucken = arrArtikelNummerInternUndMenge | Last -%}\
    {% endif -%}\
{% endfor %}{{ AnzahlDrucken }}

2. Manueller Auftrag Worklfow anlegen
Es wird ein manueller Auftrags Workflow angelegt mit zwei Aktionen:

Aktion 1
- Werte setzen
- Variable "GlobaleTexte.Intern.tmp-Wf-EtikettenDrucken-Anzahl.Deutsch"
- Wert bekommt folgenden Code:
Code:
{% for Position in Vorgang.AuftragsPositionen -%}\
{% if Position.Positionstyp == 1 -%}\
{{ Position.InterneArtikelnummer }}={{ Position.Menge }}|\
{% endif -%}\
{% endfor -%}

Aktion 2
- Workflow Ereignis auslösen
- Bezugsobjekt = Auftrag\Auftragspositionen\Artikelliste\Objektliste
- Ereignis = Etikett drucken (= der Workflow, der in (1) angelegt wurde)

Der Code in (1) und (2) nutzt hilfsweise einen globalen Text als Variable, um darin eine Liste aus kArtikel bzw. ArtikelNummerIntern und der zugehörigen Menge abzulegen.
Diese Variable muß von Euch selbst in der Wawi unter Einstellungen > Globale Textbausteien angelegt und die benutzte Gruppe/Name dann im Code angepasst werden.
In meinem Bespiel habe ich eine Gruppe mit dem Namen "Intern" mit dem Inhalt "tmp-Wf-EtikettenDrucken-Anzahl" angelegt.

Einschränkungen & Überlegungen
- Der Workflow funktioniert, solange man ihn in Ruhe für EINEN Auftrag ausdrucken lässt, bevor man ihn erneut benutzt.
- Markieren von mehreren Aufträgen ist nicht möglich, bzw. führt zu Chaos, weil der Inhalt der Hilfsvariable mit dem Inhalt eines anderen Auftrags überschrieben würde, bevor alle Etiketten des ersten Auftrags gedruckt wurden. Hier spielen unter anderem physikalische Druckergeschwindigkeit und Spooler mit rein.
- Mehrbenutzerbetrieb ist nur möglich, wenn ein Benutzer den Worklfow erst dann nutzt, wenn ein anderer Benutzer komplett ausgedruckt hat.
- Teilbare Mengen sind bisher nicht berücksichtigt. Unklar, was passiert.
- Ist ein Artikel mehrfach im Auftrag jedoch als unterschiedliche Positionen vorhanden, so wird für alle Vorkommen des Artikels die Anzahl des ersten Vorkommen im Auftrag an Artikel ausgegeben.

Einrichten lassen
Wem das alles technisch zu anspruchsvoll ist, kann sich gerne per PM/eMail bei mir melden und ich richte das zum fairen Stundensatz auf Rechnung in 15 Minuten per Fernwartung ein.

Vielleicht habt Ihr auch noch Ideen, wie man den Ansatz weiter ausbauen kann.

Viele Grüße

John
extrem gut gemachte Erklärung. Vielen Dank.
Wir würden nicht pro Artikelmenge gleich viele Etiketten benötigen, sondern pro Position ein Etikett, aber mit der Artikelmenge pro Position auf dem Etikett, als Angabe.
Leider hab ich keine Idee wie ich das Etikett so anpassen muss, damit die Positionsmenge auf dem Etikett erscheint. Gibts dafür im Artikeletikett überhaupt eine variable?
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.130
645
Dazu benötigt man nicht diesen Workflow, dazu haben wir z.B. eine Vorlage, die je Position ein Etikett druckt, das ist für den normalen Anwendungsfall gedacht, siehe Shop :)

Das von John ist eine Super Lösung für den Sonderfall, wenn man je Auftrag jeden Artikel etikettieren will.
(Ich frage mich aber noch immer warum man das nicht beim Wareneingang macht, aber OK ... vermutlichen stehen auftragsspezifische Daten dann drauf.)
 

curra

Sehr aktives Mitglied
5. Juli 2007
2.742
13
Dazu benötigt man nicht diesen Workflow, dazu haben wir z.B. eine Vorlage, die je Position ein Etikett druckt, das ist für den normalen Anwendungsfall gedacht, siehe Shop :)

Das von John ist eine Super Lösung für den Sonderfall, wenn man je Auftrag jeden Artikel etikettieren will.
(Ich frage mich aber noch immer warum man das nicht beim Wareneingang macht, aber OK ... vermutlichen stehen auftragsspezifische Daten dann drauf.)
eure Vorlage hatte ich sogar in der 1.5x. aber mit 1.8x funktioniert die nicht mehr. Habt ihr da ein Update?
 
  • Gefällt mir
Reaktionen: wawi-dl

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.130
645
... dann schreib uns doch bitte eine Email dazu, dann kann man dies prüfen. Aktuell wüssten wir nicht, warum diese nicht funktionieren sollte.
 

John

Sehr aktives Mitglied
3. März 2012
3.065
672
Berlin
...wer dennoch Spaß am selber machen hat, kann auch meine Lösung umbauen.

1. Die Menge der gedruckten Etiketten aus (1) muß fest auf 1 gestellt werden, denn Ihr wollte ja nur ein Etikett.

2. Ihr müßt Euch ein neues Etikett anlegen, das aus dem Globalen Text GlobaleTexte.Intern.tmp-Wf-EtikettenDrucken-Anzahl.Deutsch die Menge für den jeweils zu druckenden Artikel extrahiert und auf dem Etikett ausgibt.
Das ist etwas SQL Frickelei, weil man innerhalb der Vorlage nicht direkt an die Globalen Texte kommt aber machbar.
 

John

Sehr aktives Mitglied
3. März 2012
3.065
672
Berlin
So, ich habe das mal eben wie oben angedacht umgesetzt.
Dafür legt man sich am besten ein neues Vorlagenset/Vorlage an.

Im Artikeletikett wird die Anzahl per SQL aus meiner zuvor beschriebenen Globalen Text Variable tmp-Wf-EtikettenDrucken-Anzahl ausgelesen und per ALIAS$ der entsprechende Artikel ausgewählt.

Code:
Alias$(str$(Artikel.InterneArtikelnummer),JTL_DirectQuery("SELECT cWertVarchar FROM vGlobaleTexte WHERE cName = 'tmp-Wf-EtikettenDrucken-Anzahl' AND cNameDeu = 'Deutsch' ") ) + "x"

Das fertige Etikett hänge ich als Vorlage an, viel Spaß damit.

Wer Hilfe bei der Integration benötigt, kann sich gerne melden. Fairer Stundensatz.
 

Anhänge

  • Artikeletikett_MengeAufEtikett_Etikett.vlg
    13,6 KB · Aufrufe: 6
  • NeuesVorlagenset.png
    NeuesVorlagenset.png
    47 KB · Aufrufe: 17
Zuletzt bearbeitet:

SB-Admin

Aktives Mitglied
9. September 2020
73
13
So, ich habe das mal eben wie oben angedacht umgesetzt.
Dafür legt man sich am besten ein neues Vorlagenset/Vorlage an.

Im Artikeletikett wird die Anzahl per SQL aus meiner zuvor beschriebenen Globalen Text Variable tmp-Wf-EtikettenDrucken-Anzahl ausgelesen und per ALIAS$ der entsprechende Artikel ausgewählt.

Code:
Alias$(str$(Artikel.InterneArtikelnummer),JTL_DirectQuery("SELECT cWertVarchar FROM vGlobaleTexte WHERE cName = 'tmp-Wf-EtikettenDrucken-Anzahl' AND cNameDeu = 'Deutsch' ") ) + "x"

Das fertige Etikett hänge ich als Vorlage an, viel Spaß damit.

Wer Hilfe bei der Integration benötigt, kann sich gerne melden. Fairer Stundensatz.
Hallo John,

leider funktioniert es so leider nicht. Die Menge wird zwar korrekt in die globale Variable geschrieben, aber beim Auslesen kommt nur das "X". Die DirectQuery Abfrage gibt immer nur ein leeres Ergebnis zurück. Ich habe auch den Workflow etwas geändert, denn er hatte auch alle Stücklistenpositionen mit aufgelistet:

{% for Position in Vorgang.AuftragsPositionen -%}\
{% if Position.Positionstyp == 1 and Position.IstStücklistenvater -%}\
{{ Position.InterneArtikelnummer }}={{ Position.Menge }}|\
{% endif -%}\
{% endfor -%}

Die globale Variable wird nun korrekt geschrieben.

Da ich die Etiketten des Auftrages auf ein A4 Blatt mit mehreren Etiketten zusammendrucken wollte und alles auch korrekt im Format eingestellt wurde, druckt er trotzdem für jedes Etikett ein A4 Blatt. Und obwohl nun nur die Stücklistenväter in der Globalen Variablen stehen, druckt er trotzdem alle Stücklistepositionen jeweils auf ein Blatt. Kennst Du das Problem? Hast Du einen Tipp für mich? Vielen Dank im Voraus.
 

John

Sehr aktives Mitglied
3. März 2012
3.065
672
Berlin
Hmm, also bei mir funktionierte es.

Ausgabe von mehreren Etiketten auf einem A4 geht meines Wissens nicht, weil die Ausgabe für jeden Artikel einzeln als neues Dokument gestartet wird.
 

SB-Admin

Aktives Mitglied
9. September 2020
73
13
Ja, das Problem mit der Anzahl-Ausgabe funktioniert jetzt. Es lag an einem Fehler im SQL-Befehl. Schade, das man nicht mehrere Etiketten auf einem Blatt ausgeben kann. Dann muss ich eine Lösung über einen separaten Etikettendrucker finden.

Vielen Dank trotzdem.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.130
645
Ja, das Problem mit der Anzahl-Ausgabe funktioniert jetzt. Es lag an einem Fehler im SQL-Befehl. Schade, das man nicht mehrere Etiketten auf einem Blatt ausgeben kann. Dann muss ich eine Lösung über einen separaten Etikettendrucker finden.

Vielen Dank trotzdem.
Dafür muss explizit die Artikel-Etiketten Vorlage verwendet werden, da man hier je Bogen die Anzahl Etiketten definieren kann, was bei den normalen nicht geht.

Es gibt natürlich sicherlich Tools für "Etiketten Nesting", wird aber sicherlich auch 1-2 Klicks kosten.
 

SB-Admin

Aktives Mitglied
9. September 2020
73
13
Ja, das grundsätzliche Problem ist, dass JTL im Vorlagenbaum fest vorgibt, ob es eine Listen- oder ein Etikettenvorlage ist. Das kann man leider selber nicht ändern. Auch der Import hilft hier nicht, da dann die importierte Vorlage mit Fehlermeldungen nicht erstellt wird. Schade!!! Das Leben könnte so einfach sein, wenn nicht immer als fest eigestellt wäre.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Export / Exportformate: Anleitung bzw. Infoseite mit zulässigen Tags ? Betrieb / Pflege von JTL-Shop 0
Neu Artikeletiketten bei Wareneinang nicht automatisch drucken Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Druckproblem Artikeletiketten mit Zebra ZD421d User helfen Usern - Fragen zu JTL-Wawi 2
Neu EVRI Label für Versand nach UK - wer benutzt es? Business Jungle 0
Nur bestimmte Bilder für einen Marktplatz aktivieren (Hood.de) JTL-Wawi 1.8 2
Neu Drucker für WMS getauscht - Zollpapiere werden nicht gedruckt JTL-ShippingLabels - Ideen, Lob und Kritik 1
Variable für Kundengruppe Allgemeine Fragen zu JTL-Shop 6
Neu Beschreibung für Amazon ohne HTML Inhalte Arbeitsabläufe in JTL-Wawi 1
Hilfe gesucht für Änderung der internen Schlüsselnummern! JTL-Wawi 1.9 8
Neu Manueller Worklfow Rechnung für Mahnung, wie den offenen Rechnungsbetrag bei Teilrechnung ausgeben? JTL-Workflows - Ideen, Lob und Kritik 1
Tipps für effiziente Änderungen bestehender Artikel JTL-Wawi 1.7 2
Neu Bilder für alle Plattformen verwenden User helfen Usern - Fragen zu JTL-Wawi 8
Neu JTL WaWI abgleich mit Amazon für Deal Day & Black Friday User helfen Usern - Fragen zu JTL-Wawi 1
Onpage composer Texte für Merkmal Seiten Einrichtung JTL-Shop5 1
Neu Amazon Lister 2.0 - Code 99016 - Ein Maximum von 1 Vorkommen (oder Vorkommnissen) ist für das Attribut color zulässig Amazon-Lister - Fehler und Bugs 0
Neu Anbindung von JTL an Onlinehandel für GPSR (Produktsicherheit) Schnittstellen Import / Export 3
Sonderpreise für den Otto Marktplatz übertragen Otto.de - Anbindung (SCX) 0
Neu Suche Tipps für Plesk Settings Installation / Updates von JTL-Shop 0
Neu Dokumentenzufuhr für Vorlagen auswählen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Gutscheinübersicht zu Stichtag für den Jahresabschluss Allgemeine Fragen zu JTL-Vouchers 2
In Diskussion Workflow für Liefertag Wareneingang? JTL-Workflows - Ideen, Lob und Kritik 2
Neu XML Export Artikel Stammdaten für Mercateo Schnittstellen Import / Export 1
Neu Wareneingang für eine "Variobox" richtig buchen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Workflow - Wert "Netto-EK" im Auftrag auf 0,00 € setzen für eine bestimmte Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 1
Neu Umsetzung von JTL Plan & Produce für das Unternehmen Dienstleistung, Jobs und Ähnliches 2
Neu Aktueller Prozess für einen sauberen Umtausch Allgemeine Fragen zu JTL-POS 7
Lieferschein Formel für Datum JTL-Wawi 1.9 3
Gelöst Für Datev Export, Konto 4400 ändern Allgemeine Fragen zu JTL-POS 7
Neu Statistik für Anfänger User helfen Usern - Fragen zu JTL-Wawi 9
Alternative für Ebay / Amazon Listings JTL-Wawi 1.9 0
Neu Fehlermeldung im JTL Shop 5.2.2 Frontend - Wo zu finden für Debugging? JTL-Shop - Fehler und Bugs 1
Erzeugung des Barcodes für die Gebinde EAN JTL-Wawi 1.9 3
Neu Artikelbezeichnung aus Auftrag in Druckvorlage für Picklisten Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Individuelle Verkaufskanäle für Hersteller (Seiten) JTL-Wawi 1.9 7
Neu Validierung Lieferadresse - welchen Feldnamen für fehlendeAngaben Technische Fragen zu Plugins und Templates 1
JTL-Ameise Export Verkaufsrechnungen // Beleglink für Steuerberaterin JTL-Wawi 1.9 1
Neu Lieferdatum/Lieferzeit in Angebot/AB/Lieferschein/Rechnung für einzelne Positionen darstellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Listen Ansicht für Artikel deaktivieren Einrichtung JTL-Shop5 2
Automatischer bestandsabgleich für mehrere Artikel JTL-Wawi 1.8 1
Neu erweiterte Eigenschaften für Dezimalzahl in US format Amazon-Lister - Fehler und Bugs 2
Keywords für Kaufland in Kurzbeschreibung JTL-Wawi 1.9 1
Neu Cookies für Google Ads User helfen Usern - Fragen zu JTL-Wawi 0
Neu Anzeige der Seriennummer nur für den Wareneingang Eigene Übersichten in der JTL-Wawi 0
In Diskussion Workflow für eBays neues "Kaufabbruch"-Feature JTL-Workflows - Ideen, Lob und Kritik 2
Neu Amazon Für das Feld "Preis mit Steuern zur Anzeige eBay-Anbindung - Fehler und Bugs 2
Neu Anlegen einer eigenen Seite ohne Text für externen Link nicht möglich JTL-Shop - Fehler und Bugs 2
Rechnungslegung für verschiedene Bezahlarten aus B2B & B2C JTL-Wawi 1.9 1
Neu Soehnle Waage für anstehende DHL Wiegepflicht... Waage zu alt? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 4
Neu 2 verschiedene Lager - Trennung - nur ein Lager für WMS Versand möglich ? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow für Warenpost nur wenn bestimmte Artikel in Bestellung User helfen Usern - Fragen zu JTL-Wawi 1

Ähnliche Themen