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.292
401
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.292
401
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.292
401
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.292
401
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.292
401
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.292
401
@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
VartiationWerte über DotLiquid ausgeben lassen Otto.de - Anbindung (SCX) 0
Neu Dotliquid - Ausgabe der VaterVarKombi-Artikelnummer User helfen Usern - Fragen zu JTL-Wawi 2
JTL WaWi - Kunde - eigenes Feld - dotliquid - neue Variablen JTL-Wawi 1.9 1
Amazon selbsterstellte Produktseiten Das Feld diameter für das Attribut [item_width_diameter_height] hat nicht genügend Werte JTL-Wawi 1.9 0
Neu Suche einfügen für Newseinträge JTL-Shop - Ideen, Lob und Kritik 0
Neu Kein Support für "Auftragspaket 100" in JTL Start Edition JTL-Wawi - Ideen, Lob und Kritik 23
Neu Keine Rechnungen für FBA -> Der Auftrag wird extern abgerechnet Amazon-Anbindung - Fehler und Bugs 2
Neu 📢 Plugin: "Video für Beschreibung (YouTube, Vimeo, andere Formate) 📢 Plugins für JTL-Shop 0
Neu (WMS-)Lager - Lagerplatz - Für den verfügbaren Bestand sperren - Verwirrung User helfen Usern - Fragen zu JTL-Wawi 5
Neu Server Hardware für eigenes Wawi / SQL Hosting Installation von JTL-Wawi 3
Neu Individueller Festpreis für Kunden lässt sich nicht speichern. JTL-Wawi - Fehler und Bugs 1
Neu Affiliate Plugin Empfehlung für JTL Shop 5 Plugins für JTL-Shop 0
Neu ETA für Onlineshop-Abgleich JTL-Wawi - Ideen, Lob und Kritik 0
Neu Mindestbetrag für kostenlosen Versand Allgemeine Fragen zu JTL-Shop 0
Neu Ameise: Hilfe für Eigener Export JTL Ameise - Eigene Exporte 5
JTL-Wawi 1.9.7.1 – Wie kann man "Suchbegriffe" für Kaufland.de anlegen? JTL-Wawi 1.9 0
Neu Versandpreise für Ebay bearbeiten User helfen Usern - Fragen zu JTL-Wawi 0
JTL 1.9.7.0 | Warum ändert sich der Nummernkreis für Rechnungen bei Bestellungen aus dem OTTO-Market und bei anderen Marktplatzanbindungen nicht? Otto.de - Anbindung (SCX) 3
Neu 🌟Neues Plugin: digi·access - Die Lösung für Barrierefreiheit Plugins für JTL-Shop 24
Neu Plugin Debugging installiertes Plugin sorgt für 2-3 Sekunden längere Ladezeit seit JTLShop5 Plugins für JTL-Shop 2
Neu Otto PRODUCT_LISTING_FAILED für importiertes und verknüpftes Listing Otto.de - Anbindung (SCX) 0
Neu Suche JTL-Plugin-Entwickler für Bewertungsanzeige in Google (Rich Snippets) Plugins für JTL-Shop 4
Neu Suchen IT Service Dienstleister für kleinere Aufgaben Dienstleistung, Jobs und Ähnliches 1
Neu EINFACHE Lösung für Packstation? Plugins für JTL-Shop 6
Neu WMS Mobile Wareneingang: Etikett für Artikel drucken Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Gelöst eigene Chargen Übersicht für "Verknüpfte Artikel" Eigene Übersichten in der JTL-Wawi 7
Letzte Lieferung von Lieferadressen für Außendienstmitarbeiter JTL-Wawi 1.9 1
In Diskussion Workflow für Kleinpaket anhand eigener "Volumenzahl" JTL-Workflows - Ideen, Lob und Kritik 1
Neu "Nicht Ausliefern" für Lagerplatz definieren Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Mailadresse für Mahnungen JTL-Wawi 1.9 0
Automatische Lagerbuchung mit verschiedenen Barcodes für ein und dasselbe Produkt JTL-Wawi 1.9 2
Kurz- Langbeschreibung Artikel lässt sich für den Ausdruck nicht einstellen bzw. abstellen. JTL-Wawi 1.9 0
Neu Gesamtzahl der Aufträge pro Monat für JTL Rechnung Einrichtung und Installation von JTL-eazyAuction 1
Telefonisch Beratung, Hilfe bei der Angebotserstellung für otto.de Otto.de - Anbindung (SCX) 0
Neu Aufteilung einer Sendung auf mehrere Lieferscheine für die Schweiz User helfen Usern - Fragen zu JTL-Wawi 0
Neu Artikelbeschreibung für diverse Artikel ergänzen Arbeitsabläufe in JTL-Wawi 1
Neu Anfrage für CSS Anpassung Nova Childtemplate Dienstleistung, Jobs und Ähnliches 1
Neu Drucker für Gutscheine Allgemeine Fragen zu JTL-Vouchers 0
Neu Connector für Geschäftspartner Allgemeines zu den JTL-Connectoren 1
Neu Artikel für spezielle Kunden ausblenden Allgemeine Fragen zu JTL-Shop 3
Neu Zustandstexte für ebay auslesen? JTL-Ameise - Fehler und Bugs 2
Neu BUG: kann die neu erstellte Vorlage für eine Rechnung nicht editieren, WAWI stürzt ab JTL-Wawi - Fehler und Bugs 3
SQL-Abfrage für eigene Übersicht im Verkauf – Aufträge zu Angeboten prüfen JTL-Wawi 1.9 2
Erfahrungsaustausch & Unterstützung für JTL-FFN-Setup gesucht JTL-Wawi 1.9 1
Rechnungsvorlagen für Kleinunternehmer JTL-Wawi 1.8 7
Neu Workflow-Bedingungen für Teillieferung aus zwei Lagern (Lager A & Lager B) User helfen Usern - Fragen zu JTL-Wawi 2
Neu Warenkorb Anzeige Problem für Kleinunternehmer Allgemeine Fragen zu JTL-Shop 6
Neu Plugin für Checkout Prozess Plugins für JTL-Shop 5
In Diskussion Grundsätzlich mehrfach Versandlabel für Pakete über 30kg JTL-Workflows - Ideen, Lob und Kritik 10
Neu Mindestbestand für bestimmte Lagerplätze User helfen Usern - Fragen zu JTL-Wawi 3

Ähnliche Themen