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
403
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
403
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
403
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
403
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
403
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
403
@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
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Frage zu Benutzer/Rechte für Kunden im Onlineshop neues Passwort generieren User helfen Usern - Fragen zu JTL-Wawi 0
Seit Update auf 1.11.4 Workflow für Kartonauswahl gibt error JTL Das Objekt mit Nullwert muss einen Wert haben. BrowsePk: 152325 WorkflowAktionId: 155 JTL-Wawi 1.11 1
Neu Rechnung nur für bestimmte Kundengruppe drucken, aber für alle Erstellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu JTL auf dem Server duplizieren für Experimente Installation von JTL-Wawi 1
25 Gutscheine für Kunden auf Rechnung erstellen Allgemeine Fragen zu JTL-Vouchers 0
Neu SEO URL für den Blog Allgemeine Fragen zu JTL-Shop 2
Neu 🚨 Hinweis für JTL-Händler, die Taxdoo nutzen News, Events und Umfragen 1
Monatsabschluss Amazon FBA UK / CH mit JTL2Datev WaWi 1.10 bei IDU Nutzung und Zwangs VCS für GB / Schweiz JTL-Wawi 1.10 0
Neu Biete Connector-Tools für vollautomatische Lieferantenbestellungen an uvm. Dienstleistung, Jobs und Ähnliches 2
Externe Auftragsnummer für Rechnungs-Druckvorlage nicht vorhanden JTL-Wawi 1.11 6
Neu Sind Support-Tickets für WaWi und Ameise ohne kostenpflichtigen Tarif nicht mehr möglich? JTL-Wawi - Fehler und Bugs 3
Neu Coupon-Steuer Plugin: Korrekte Steuerberechnung für JTL-Shop Coupons Plugins für JTL-Shop 1
Neu Neuer Server für kleines Unternehmen User helfen Usern - Fragen zu JTL-Wawi 38
Neu Welche SQL Server Version für WaWi 1.0.0.0.0 unter Windows 11 Installation von JTL-Wawi 6
Neu Was ist die korrekte Variable für die letzte Seite eines Artikellistings? Betrieb / Pflege von JTL-Shop 11
Neu Open-Source-Lösung für produzierende Betriebe User helfen Usern 0
Neu Varianten Artikel erstellen mit Lister 2.0 nur für Amazon Amazon-Lister - Ideen, Lob und Kritik 0
Neu SUCHE Freelancer für JTL WAWI Anbindung an WooCommerce und Einrichtung Dienstleistung, Jobs und Ähnliches 2
Amazon-ASIN mit mehreren SKU für Chargenverfolgung JTL-Wawi 1.10 0
Neu ID Hook für Warenkrob User helfen Usern 0
Neu Platzhalter für GPSR werden mit angezeigt PrestaShop-Connector 1
In Diskussion Workflow für voraussichtlichen Liefertag erstellen JTL-Workflows - Ideen, Lob und Kritik 6
Neu Workflow für voraussichtlichen Liefertag erstellen User helfen Usern - Fragen zu JTL-Wawi 1
Neu CustomWorkflow für Pattenkonto JTL-Workflows - Ideen, Lob und Kritik 1
Neu Adressetiketten für Briefe mit Etikettendrucker erstellen / Formatierungsproblem Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu 🚀 Pilotkunden gesucht: HS Dynamic Pricing Plugin für JTL-Shop Plugins für JTL-Shop 0
Wichtig 💡Die Retourenplattform für Webshops – Expertise von unserem neuen Partner Returnless News, Events und Umfragen 0
Neu Kapazitäten frei für Routineaufgaben JTL Wawi Dienstleistung, Jobs und Ähnliches 0
Neu Trainingsmodus für JTL-POS gewünscht JTL-POS - Ideen, Lob und Kritik 0
Artikel teilweise nicht für Verkaufskanäle aktivierbar JTL-Wawi 1.10 0
Neu VCS lite: Arithmetischer Überlauffehler für tinyint-Datentyp, Wert = -1. Amazon-Anbindung - Fehler und Bugs 0
Monatsweise Warenbewegungen für alle Artikel exportieren JTL-Wawi 1.10 1
WF - automatisches Aktivieren / Deaktivieren für Verkaufskanal Shop JTL-Wawi 1.9 6
Artikel nicht automatisch für Verkaufskanal aktivieren JTL-Wawi 1.10 2
Neu Welcher Hoster ist für JTL-Shop 5 empfehlenswert? User helfen Usern 12
Buchhaltung vollautomatisiert für die Schweiz JTL-Wawi 1.10 10
Vote für debugging des Mobile Server Fehlers JTL-Wawi 1.11 1
Massenänderung "Lagerplatz" für Artikel bei WMS Lager JTL-Wawi 1.10 2
Neu Bestellobergrenze (999€) für Schweizer Kunden im Shop hinterlegen Betrieb / Pflege von JTL-Shop 1
Alternativtext für Artikelbilder per Ameise pro Plattform setzen JTL-Wawi 1.10 0
Neu Staffelpreise für Verpackungseinheiten Einrichtung von JTL-Shop4 4
Neu Kunden einen Retouren QR Code beim ausliefern mitschicken für Warenankauf ??? JTL-ShippingLabels - Fehler und Bugs 0
Neu Suche Freelancer für Aufsetzen JTL B2B Shop Dienstleistung, Jobs und Ähnliches 3
Gelöst Kartenleser für RKSV JTL-POS - Fragen zu Hardware 2
Neu Artikel nur für Admin sichtbar Allgemeine Fragen zu JTL-Shop 2
Neu Zusätzlicher Kundendisplay für Kassensystem iMin D4 Pro Einrichtung / Updates von JTL-POS 1
Neu Besteht Interesse an einer Versandschnittstelle für GEL-Express? Schnittstellen Import / Export 0
Neu Tailwind als Basis für JTL Shop 6 ? Templates für JTL-Shop 2
Neu Variablen für Kassenbon Einrichtung / Updates von JTL-POS 1

Ähnliche Themen