Neu Dotliquid für Hinweis

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Hallo Jtl User,

wir haben bei unserem Aufträgen im Hinweisfeld immer folgende Information stehen:

Color: Weiß, Größe: S, Kampagne: 8VZBPHS9

Dies wird aus unserem Onlineshop automatisch importiert und steht unter Hinwes. Jetzt möchten wir den Hinweis jedoch kürzen auf die Kampagnen Info, in diesem Fall "8VZBPHS9" und diese soll dann als Code129 angezeigt werden. Verständlich? Wir würden gerne also einen Scannbaren Code angezeigt bekommen, der immer diese 8stellige Nummer/Zahlenkombination darstellt.

Wie können wir das anstellen in die Druckvorlage? Über ein Feedback würde ich mich freuen.

Gruß Nino
 

Anhänge

  • Nino___TS_Server.jpg
    Nino___TS_Server.jpg
    119,1 KB · Aufrufe: 111

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
Wenn der Code IMMER 8 Zeichen lang ist und IMMER ganz rechts steht, dann kannst Du ihn ganz einfach aus Vorgang.Hinweis rauslösen, z.B. mit ...
Code:
Right$(ATrim$(Vorgang.Hinweis),8)

Das ATrim$() ist hier nur wichtig, um zu verhindern, dass ein überflüssiges Leerzeichen am Ende Deinen BarCode künstlich "verkürzt". Ich gehe davon aus, dass Du "Code 128" meinst, richtig? Der zugehörige BarCode() Befehl lautet dann...
Code:
BarCode(Right$(ATrim$(Vorgang.Hinweis),8),"Code 128")

Und falls die Codelänge doch variabel ist, wird die Formel zwar ein wenig komplizierter, aber nur ein wenig und könnte wie folgt aussehen...
Code:
ATrim$(Right$(Vorgang.Hinweis,Len(Vorgang.Hinweis)-(StrRPos(Vorgang.Hinweis,":")+1)))
Damit wird rückwärts nach dem ersten Auftreten eines Doppelpunktes gesucht, dieser übersprungen und der rechte Rest des Hinweistextes zurückgeliefert. Der BarCode() Teil ist dann wieder wie gehabt...

Code:
BarCode(ATrim$(Right$(Vorgang.Hinweis,Len(Vorgang.Hinweis)-(StrRPos(Vorgang.Hinweis,":")+1))),"Code 128")
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
hallo gutberle, so macht Forum Spaß!!!

Leider kommt jedoch eine Fehlermeldung "Syntaxfehler" bei dem 2. und 4. Code
Vielleicht kannst Du es Dir noch mal ansehen.
Vielen Dank für die super Hinweise. Schönes Wochenende!
 

Anhänge

  • Bildschirmfoto 2016-09-18 um 16.39.43.png
    Bildschirmfoto 2016-09-18 um 16.39.43.png
    157,4 KB · Aufrufe: 38
Zuletzt bearbeitet:

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Fehler habe ich anscheinend selber "erkannt" - "Vorgang.Hinweis" gibt es wohl nicht mehr, es sollte "Auftragspositionen.Hinweis" lauten und jetzt funktioniert es auch. DANKE
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Hallo, es hat sich wie folgt geändert der Ausdruck ist jetzt wie folgt "Unisex Hoodie / Schwarz / S / V6lAJDN / Front" und ich möchte jetzt nur den vorderen Bereich ausgegeben haben -> also "Unisex Hoodie" (ohne Barcode oder so, nur Text), alles also nach dem ersten "/" sollte abgeschnitten werden.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
Auch das ist einfach, probier es mal mit dem Code unten. Hier wird der linke Teil eines Strings bis zur Position von "/" zurückgeliefert und dabei noch 1 abgezogen, damit das "/" im Resultat nicht enthalten ist. Und Atrim$() macht wie schon oben nur eine Bereinigung um führende oder folgende Leerzeichen im Resultat.
Code:
Atrim$(Left$(Auftragspositionen.Hinweis,StrPos(Auftragspositionen.Hinweis,"/")-1))
Allerdings vorausgesetzt, dass es hier um einen Auftragspositionen.Hinweis geht. Sonst mußt Du den Teil wieder anpassen, also die beiden Nennungen von Auftragspositionen.Hinweis gegen die gesuchte Variable austauschen.

Probier mal selber ein bißchen "rum". Du brauchst wirklich nur 3-4 Befehle, um richtig voran zu kommen, ähnlich wie bei den Gitarrenakkorden und der ersten eigenen Band mit 16 ... ;)
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
ah ok und wenn ich nur den Bereich hier haben möchte.... V6IAJDN - das bekomm ich nicht hin

Unisex Hoodie / Schwarz / S / V6lAJDN / Front
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
Schau Dir mal meine Antwort und die Erläuterungen zum Suchen des n.ten Vorkommens eines Zeichens in einem String in Deiner anderen Frage hier an. Dann bekommst Du das auf jeden Fall hin. - Es ist wirklich wie mit den Gitarrenakkorden: 3-4 reichen eigentlich aus, um schon richtig Musik zu machen ... ;)
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Wo kann ich denn genau die Akkorde lernen :) bisher konnte ich nicht wirklich ne Dokumentation finden. Aktuell muss ich den ersten Bereich bis zum "-" kürzen.

Unisex Hoodie - LIMITIERT - Meine Blutgruppe // *Front* // #K27AL1UT_JH001_Schwarz

Es soll nur noch "Unisex Hoodie" stehen bleiben. Wir bekomm ich das hin?
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
Gute Frage und so kurz vor Weihnachten, wer kann sich da schon verweigern... ;)

Es gibt gleich ein paar Quellen für Informationen...

1. Inline Syntax-Hilfe in List & Label
Hier geht es genau um das Fenster "Funktionen bearbeiten", in dem Deine Formel oder Funktion steht und dann von List & Label ausgewertet wird, also das, worüber wir oben immer geschrieben haben. Wenn Du in diesem Dialog oben in der Zeile unterhalb von "Funktionen:" z.B. "atrim" eingibst, schnurrt die Baumstruktur darunter zusammen und Du siehst nur noch Atrim$ ({Zeichenkette}) und wenn Du jetzt einmal darauf klickst, erscheint im Fenster unter diesem Bereich der Hilfetext "Entfernt Leerzeichen am Anfang und Ende der Zeichenkette".
Gibst Du hier aber z.B. left ein, dann erscheint darunter Left$ ({Zeichenkette},{Zahl}[,{Boolean}]) und das sieht schon komplizierter aus. Grundsätzlich gilt bei dieser Form der Syntax immer, dass Parameter, die in eckigen Klammern stehen, optional sind, also nicht benutzt werden müssen, aber können. Wichtig sind hier also offenbar nur Zeichenkette und Zahl und der Hilfe-Text unter dem Bereich sagt denn auch "Gibt die ersten {Zahl} Zeichen der ursprünglichen Zeichenkette zurück." und darunter steht sogar noch ein Beispiel mit Left$("ABCD",2) -> "AB", das Dir zeigt, dass Du mit diesem Befehl die ersten beiden Zeichen von links aus Deiner Zeichenkette zurücklieferst. Analoges gilt dann für Right$(), etc.
Soll heißen, wenn Du genauer wissen willst, was die Befehle tun, die ich oben verwende, mußt Du nur Ihren Namen oben unter "Funktionen:" eintippen, einmal darauf klicken und schon bekommst Du mehr Information und ggfls. auch ein Beispiel.

2. Programm-Hilfe von List & Label
In dem obigen Beispiel mit Left$ ({Zeichenkette},{Zahl}[,{Boolean}]) gab es mit [,{Boolean}] ja einen optionalen Parameter und der ist bisher nicht aufgetaucht oder erklärt worden. Hier und in allen ähnlichen Fällen hilft Dir aber das in List & Label integrierte Handbuch in der Hilfefunktion. Einfach oben rechts auf das Fragezeichen klicken, Befehl unter "Suchen" eingeben und schon erscheint der gleiche Hilfetext wie im PDF Handbuch, das JTL zwar nicht mitliefert, dass aber bei Combit umsonst heruntergeladen werden kann. Achtung: Die aktuelle Wawi benutzt L&L Version 20, bei Combit scheint es nur noch das Handbuch zur v22 zu geben, das aber für einfache Syntax-Suchen wie hier natürlich immer noch geeignet ist.

3. Web und Forum
OK, das wusstest Du schon...

Letztlich gilt auch hier wie beim Gitarre lernen: Üben, üben, üben und deshalb hier noch ein Übungsbeispiel. Deine Frage ist mit meiner letzten Lösung von oben eigentlich schon beantwortet, schauen wir uns das mal in einer auch für Deine aktuelle Frage funktionierenden Form an. Die sähe zum Beispiel folgendermaßen aus:

Atrim$(Left$(Auftragspositionen.Hinweis,StrPos(Auftragspositionen.Hinweis,"-")-1))

Man wertet solche Ausdrücke immer von Innen nach Außen aus, also zuerst einmal StrPos(Auftragspositionen.Hinweis,"-"). Ein Blick in die L&L Hilfe sagt, dass StrPos ({Zeichenkette},{Zeichenkette}[,{Zahl}]) die Position des ersten Auftretens einer (Teil)Zeichenkette (2. Parameter) innerhalb einer (Gesamt)Zeichenkette (1. Parameter) zurückliefert und die Hilfe darunter gibt auch ein Beispiel, easy. Der optionale Parameter wird auch hier nicht erklärt, aber die L&L Hilfe sagt, dass man mit der Zahl bestimmen kann, das wievielte Vorkommen des Textes oder bei Dir des Buchstabens gesucht werden soll. Das ist hier nicht nötig, weil der Default Wert für [,{Zahl}] gleich 1 ist, also das erste Auftreten, aber das ist ja nicht immer gegeben.

Hinter dem StrPos() Ausdruck steht noch "-1" und der Sinn dahinter ist, dass StrPos() ja die Position des Bindestrichs selbst zurückgibt und wenn wir die unverändert übernehmen, schneidet Left$() alles bis zum Bindestrich aus und nicht bis davor. Ok, weiter geht es mit Left$() und das dürfte jetzt eigentlich schon klar sein. Wir haben gerade den Parameter {Zahl} aus der Definition von Left$() bestimmt und damit ist Left$() vollständig mit Werten versorgt und liefert jetzt folgendes zurück...

"Unisex Hoodie "

... natürlich ohne Anführungszeichen, die sind hier nur dazu da, Dir zu zeigen, dass am Ende Deines Textes immer noch ein Leerzeichen zu viel steht. Hier kommt dann Atrim$({Zeichenkette}) ins Spiel, denn das schneidet einfach rechts und links von einer Zeichenkette die Leerzeichen ab. Und falls Du nur links oder rechts die Leerzeichen abschneiden willst (hier ginge ja auch "nur links"), dann gibt es dafür Ltrim$({Zeichenkette}) und Rtrim$({Zeichenkette}).

Und damit schließt sich der Kreis, denn um jetzt weiter zu lernen und so etwas wie Rtrim$() zu finden, klickst Du Dich einfach mal durch den Baum unterhalb von "Funktionen:" im "Funktion bearbeiten" Editor durch. Dort findest Du eine riesige Zahl an Funktionen aus den unterschiedlichsten Kategorien, die genauso aufgebaut sind, wie Left$() und Co. und teilweise wirklich coole Dinge leisten.

Ein Tipp noch zum Schluß: Da Du nicht immer vorab wissen kannst, was sich an Text in Variablen wie Artikelpositionen.Hinweis versteckt, kannst Du solche Variablennamen zum Rumprobieren auch einfach durch Deinen Wunschtext ersetzen, hier also zum Beispiel durch ...

"Unisex Hoodie - LIMITIERT - Meine Blutgruppe // *Front* // #K27AL1UT_JH001_Schwarz"

... hier aber natürlich mit den Anführungszeichen, um das Ganze als Zeichenkette kenntlich zu machen.

Frohe Weihnachten... :)
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Hallo Gutberle, ich steig einfach nicht durch. Ich bin eigentlich affin was das angeht, aber irgendwie auch nicht :(

"Unisex Hoodie - LIMITIERT - Meine Blutgruppe // *Front* // #K27AL1UT_JH001_Schwarz"

Wenn ich jetzt nur den "mittleren" Teil haben möchte *Front* was kann man machen?
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
Da der Textteil, den Du ausschneiden möchtest, von zwei einmaligen Zeichen umschlossen ist, kannst Du ihn recht leicht ausschreiben. Im nachfolgenden Beispiel habe ich Deinen Text durch <DeinText> ersetzt, damit der Code etwas kürzer wird...
Code:
Mid$(<DeinText>,StrPos(<DeinText>,"*"),StrPos(<DeinText>,"*",2)-StrPos(<DeinText>,"*")+1)

Von links nach rechts passiert hier folgendes: Der Befehl Mid$(Text,StartPos,Länge) schneidet aus dem Text ab der StartPos einen Teilstring der Länge aus. Der Befehl StrPos(<DeinText>,"*") steht hier für die StartPos und sucht in <DeinText> nach dem ersten Vorkommen von "*". Ab dort wird ausgeschnitten.

Der zweite Parameter definiert ja die Länge und hier suche ich über StrPos(<DeinText>,"*",2) erst das zweite Vorkommen von "*" und ziehe davon die Position des ersten Vorkommens von "*" ab. Damit habe ich die Länge des Strings. Die muss ich noch um +1 erhöhen, weil ich sonst das zweite "*" abschneiden würde, aber das war's schon... :)
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Hallo Gutberle, ich wollte die Ausgabe nun etwas anpassen / verändern

BarCode((ATrim$(Right$(Auftragspositionen.Bezeichnung,Len(Auftragspositionen.Bezeichnung)-(StrRPos(Auftragspositionen.Bezeichnung,"#")+1)))+"_"+Auftragspositionen.InternePositionsnummer),"QRCode")

doch leider kommt die ganze Zeit eine Fehlermeldung, "Falscher Datentyp auf der rechten Seite von +" warum? :(

siehe Anhang
 

Anhänge

  • Bildschirmfoto 2017-06-05 um 11.40.29.png
    Bildschirmfoto 2017-06-05 um 11.40.29.png
    395,8 KB · Aufrufe: 13

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
@ninoboender - Die Fehlermeldung sagt es doch eigentlich schon. Rechts vom + Zeichen wird eine Zeichenkette erwartet und da Du nur eine Variable rechts vom + Zeichen hast, nämlich Auftragspositionen.InternePositionsnummer, ist das also keine Zeichenkette, sondern wie der Name schon sagt, eine "...nummer". Um daraus dann eine Zeichenkette zu machen, mußt Du nur Str$() drum herum setzen, also Str$(Auftragspositionen.InternePositionsnummer) und schon geht's... ;)
Ich bin mir aber auch nicht sicher, ob Du wirklich Auftragspositionen.InternePositionsnummer haben möchtest, denn das ist die fortlaufende Nummer der Bestellposition aus der Datenbanktabelle tbestellpos. Bist Du Dir sicher?
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Artikel im Shop auf nicht sichtbar für alle stellen? Allgemeine Fragen zu JTL-Shop 2
Neu Linktexte für Erstbesucher/Crawler in Standardsprache – Ursache + Fix (SHOP-6552) JTL-Shop - Fehler und Bugs 0
Neu JTL Start (0 €): Buchung für GmbH i. G. ohne USt-IdNr. nicht möglich Allgemeine Fragen zu JTL-Shop 2
Neu Biete: KI-gestützte Produktdatenoptimierung für JTL-Wawi (Zero-Touch, mit Faktencheck) Dienstleistung, Jobs und Ähnliches 2
Neu Suche Setup-Datei / Installer für JTL-Wawi 1.6 (1.6.48.0) JTL-Wawi 1.6 1
Neu Ringscanner mit Akku zu verkaufen (für das WMS) Smalltalk 1
In Wawi 2.0.6 Kommentar 1 und Kommentar 2 für Lagerbestände von Kindartikeln desselben Vaterartikels nicht mehr über Vaterartikel pflegbar JTL-Wawi 2.0 4
Neu Identische Aufträge übernimmt nur für einen Auftrag die Kartonage JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Merkmal oder Attribut für Produktdetailseite und Strukturierte Daten Betrieb / Pflege von JTL-Shop 2
Neu Plugin: Infinite Scroll / „Mehr laden“ für JTL-Shop 5 – einmalige Lizenz, kein Abo Plugins für JTL-Shop 0
Exportvorlage ZUGFeRD für Deutsche Bahn JTL-Wawi 1.11 1
Neu System für Ebay Artikelmerkmale - warum ist das so wichtig? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Kapazitäten für anstehenden Auftragsspitzen Dienstleistung, Jobs und Ähnliches 1
Neu Ebay.com: Mehrfaches Dropdown-Menü für den Artikelzustand eBay-Anbindung - Fehler und Bugs 0
Neu Shipping 2.0 ist ein Grund für kleine Shops JTL zu verlassen bzw. gar nicht erst mit JTL anzufangen JTL-ShippingLabels - Ideen, Lob und Kritik 42
Wawi nur für ebay JTL-Wawi 2.0 2
Neu Exportvorlage für Shopify Schnittstellen Import / Export 1
Versandmail für Kaufland abstellen kaufland.de - Anbindung (SCX) 6
Neu 💚 Plugin: DZM Bonus Plus - das Treueprogramm für deinen JTL-Shop Plugins für JTL-Shop 12
Neu Stücklisten auf Vorlagen für Picklisten formatieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu 🔥 𝐍𝐮𝐫 𝟓× verfügbar 𝟓𝟎% 𝐑𝐚𝐛𝐚𝐭𝐭 auf dein Besucherticket für die kommende JTL-Connect am 02.10.2026 in Köln Dienstleistung, Jobs und Ähnliches 0
Neu 💚 Plugin: DZM Agentic Plus - dein Shop wird für KI-Agenten lesbar und abfragbar Plugins für JTL-Shop 0
Neu Abgleiche für zweiten Mandanten bei Worker-Neustart deaktiviert JTL-Wawi - Fehler und Bugs 0
Neu Eigenen JTL-SCX-Marktplatzkanal für Multi-Vendor-Marktplatz erstellen – Erfahrungen gesucht Einrichtung und Installation von JTL-eazyAuction 3
Neu PPWR für Importeure aus dem Nicht-EU-Ausland Business Jungle 2
Neu 🚨 Sicherheitswarnung für JTL-Shop-Betreiber: Manipulation des Checkout-Prozesses durch externes JavaScript (Magecart- / Payment-Skimmer) Betrieb / Pflege von JTL-Shop 11
Neu Abschaltung Bewertungserinnerung für spezifische Kunden Allgemeine Fragen zu JTL-Shop 0
Neu Suche 10–15 JTL-Shops für kostenlose JTL-Shop-Analyse (verschiedene Branchen) Dienstleistung, Jobs und Ähnliches 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt Dienstleistung, Jobs und Ähnliches 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt User helfen Usern - Fragen zu JTL-Wawi 7
In Diskussion Workflow für Erinnerungen an bevorstehende Lieferungen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Wie stelle ich Retouren in JTL für DPD ein? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Wroker macht keinen abgleich für Kaufland JTL-Wawi 2.0 8
Neu Beta-Tester gesucht: Produktdaten aus Artikelfotos schneller für JTL/CSV vorbereiten Dienstleistung, Jobs und Ähnliches 0
Neu Kundengruppeneinstellungen für Mindestabnahme und Abnahmeintervall löschen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Wie lange braucht ihr aktuell für die Anlage eines neuen Artikels? JTL-Wawi App 3
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
In Diskussion Tool für Abrechnung von Fulfillment Dienstleistungen Arbeitsabläufe im Fulfillment Network 0
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Keine Labels für Warenpost international über Packtisch JTL-ShippingLabels - Fehler und Bugs 8
Neu Laut Backend Shop Update für Shop 5.71 - Download nicht zu finden? Betrieb / Pflege von JTL-Shop 3
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Neu Artikelname & Beschreibung angepasst für jeweiligen Marktplatz Arbeitsabläufe in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 11
API 2.1 für OnPrem? JTL-Wawi 2.0 6
Neu Dummy-ID oder Freiposition für Angebot mit mehrzeiliger Beschreibung JTL-Wawi - Ideen, Lob und Kritik 7
Neu Neue Kennzeichnungspflicht für Elektrogeräte (Altgeräterücknahme) Betrieb / Pflege von JTL-Shop 4

Ähnliche Themen