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

John

Sehr aktives Mitglied
3. März 2012
2.916
601
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.045
603
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.045
603
... 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
2.916
601
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
2.916
601
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: 2
  • NeuesVorlagenset.png
    NeuesVorlagenset.png
    47 KB · Aufrufe: 10
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
2.916
601
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.045
603
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 Wurzelverzeichnis für Shop setzen, OHNE das sich Shoplinks ändern möglich? Arbeitsabläufe in JTL-Wawi 0
Neu Mehrwertsteuer-Erstattung für Solarprodukte ( VCS (Lite)) Amazon-Anbindung - Fehler und Bugs 0
Neu Nach Update von 5.0.x auf 5.3.3 funktioniert Checkout für Kunden ausserhalb Deutschland nicht mehr Installation / Updates von JTL-Shop 2
Neu Nach Update von 5.0.x auf 5.3.3 funktioniert "Mindestanzahl Verkäufe für Bestseller" Einstellung in Englischer Sprache nicht mehr Installation / Updates von JTL-Shop 0
Neu GLS Retourenlabel für DHL JTL-ShippingLabels - Ideen, Lob und Kritik 0
Vorkasse für Neukunden Allgemeine Fragen zu JTL-Shop 3
Neu Ändern der Artikelseite / OPC ändert nur Seite für einen Artikel / Suche nach globale Lösung für alle Artikelseiten Templates für JTL-Shop 5
BUG | Verkaufskanäle für Abgleich deaktivieren löscht Artikelname und Beschreibung JTL-Wawi 1.9 4
INSERT FK_Verkauf_tAuftragPosition_kSteuerschluessel nach Hinzufügen von EU-Steuersätzen für OSS JTL-Wawi 1.9 0
Neu Steuereinstellungen für mehrere Firmen kopieren User helfen Usern - Fragen zu JTL-Wawi 2
Neu EAN vergeben und mit SKU für immer verbunden ? Amazon-Lister - Fehler und Bugs 2
Neu /admin/cache lädt 20s für leere/defekte Statistik UND der Shop ist 0.3s langsamer - Zusammenhang? JTL-Shop - Fehler und Bugs 4
Neue Formulare: Keine Standardvorlage für Retouren-Dokument JTL-Wawi 1.9 0
Beantwortet Versandbestätigung mit Tracking für einzelnen Kunden (bei Nutzung des JTL-FFN) JTL-Workflows - Ideen, Lob und Kritik 2
Listenansicht kann nicht mehr eingestellt werden (außer für Admins) JTL-Wawi 1.9 0
Restzahlungen für eine Rechnung setzen, direkt aus Zahlungsverkehr JTL-Wawi 1.8 2
Neu Kategorie Beschreibung Import für andere Sprachen Fehler JTL-Ameise - Fehler und Bugs 2
Neu iMin Swan 1 Pro Kabel für Kundendisplay JTL-POS - Fragen zu Hardware 0
Neu CustomWorkflow zum Setzen von einem Hinweis für Auftragspositionen (Wert aus Eigene Felder per Workflow) Dienstleistung, Jobs und Ähnliches 0
Neu CS für Update Shop 4.x auf Aktuell gesucht. Smalltalk 5
Neu DHL Label für Hin-und Rückversand User helfen Usern - Fragen zu JTL-Wawi 4
Neu Separater Bon für Pfandartikel Einrichtung / Updates von JTL-POS 0
Neu Feld für Gefahrstoffklasse JTL-Wawi - Ideen, Lob und Kritik 5
Neu Webstollen EU-Cookie Plugin ab 1.7. nicht mehr für Shop4 ? Plugins für JTL-Shop 19
Neu Partner für JTL Shop WAWI und MS SQL Server gesucht Dienstleistung, Jobs und Ähnliches 2
Neu Hoster Empfehlung für JTL Shop gesucht Allgemeine Fragen zu JTL-Shop 9
Neu Greyhound Empfehlung als Ersatz für den Servicedesk / Datenübertragung / API Servicedesk (Beta) 8
Neu ID für CrossSelling Gruppen vergeben JTL-Wawi - Ideen, Lob und Kritik 1
Eircode für Zuschlagslisten Einrichtung JTL-Shop5 0
Neu Druckvorlage für Angebote/Aufträge -> Text Feld nur mit Bedingung anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 3
Neu offene Lieferantenrechnungen anzeigen für einen bestimmten Zeitraum möglich ? User helfen Usern - Fragen zu JTL-Wawi 0
Neu PayRexx jetzt mit eigenem Plugin für den JTL-Shop Plugins für JTL-Shop 2
Neu Historie für Artikel ohne Bestandsführung User helfen Usern - Fragen zu JTL-Wawi 2
Neu Anfrage bezüglich Popup-Plugin für JTL-Shop Plugins für JTL-Shop 1
Neu Plus-/Minusbuchung im WMS für mehrere Lagerplätze gleichzeitig möglich? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu E-Mails für Amazonkäufer - Wichtig, Important...im Betreff Arbeitsabläufe in JTL-Wawi 2
Beantwortet Workflow wie für verschiedene Druckausgaben? JTL-Workflows - Ideen, Lob und Kritik 1
Neu Variable Versanddatum für Rechnungsbeleg? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow für Coupon Rabatt User helfen Usern - Fragen zu JTL-Wawi 0
Neu Merkmalfilter mit unterschiedlichen Ergebnissen? Optimierung für SEO Betrieb / Pflege von JTL-Shop 10
Gelöst Erneute Autorisierung für JTL-Track&Trace erforderlich Gelöste Themen in diesem Bereich 0
Neu Listenansicht bzw. Spaltendarstellung für ALLE anpassen JTL-Wawi - Fehler und Bugs 1
Neu Kinderartikel nicht mehr für Bestellung auswählbar. JTL-Shop - Fehler und Bugs 18
In Bearbeitung monatsbericht "tagesabschluss" für den steuerberater/buchhalter exportieren Allgemeine Fragen zu JTL-POS 2
Neu 17.06.24 Meldung Lizenz für JTL Shipping Labels fehlt JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu Alle Kunden für Onlineshop freischalten Allgemeine Fragen zu JTL-Shop 5
Neu Biete Rechnungsvorlage für Exportdokument mit TARIC gruppierter Summe für Nettowarenwert und Nettogewicht Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Logo für Bondruck wird nicht gespeichert JTL-POS - Fehler und Bugs 1
Neu Kann bei Wawi kein neues Zertifikat für den POS Server erstellen Einrichtung / Updates von JTL-POS 0
Neu Zweiter Zugang zum JTL Kundencenter für den Bereich JTL Search Betrieb / Pflege von JTL-Shop 2

Ähnliche Themen