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
402
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
402
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
402
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
402
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
402
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
402
@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 DotLiquid zum auslesen Attribut für BrowseNodeID Amazon-Lister - Ideen, Lob und Kritik 3
Neu Auftrag Notizen / Historie via dotliquid ausgeben!? JTL-Workflows - Ideen, Lob und Kritik 0
Neu CustomGPT - Workflows bzw. DotLiquid erstellen mit ChatGPT User helfen Usern 16
Neu Amazon Lister 2.0 Verkaufskanalfelder Dotliquid Formel Amazon-Lister - Ideen, Lob und Kritik 2
Neu DotLiquid Filter Render JTL-Wawi - Fehler und Bugs 5
Neu Merkmaltabelle in eBay-Designvorlagen, abhängig von der derzeitigen Sprache | Dotliquid User helfen Usern 5
Neu Volumen berechnen über dotliquid User helfen Usern 7
Neu JTL mit Shopify für Etsy anstatt JTL mit Unicorn2 - hat das jemand gemacht? Anbindung, bestehende Artikel mappen? Multishop? Shopify-Connector 1
Neu Suche Linux-Spezialisten für die Betreuung von unseren Servern Dienstleistung, Jobs und Ähnliches 1
Neu Werte für Merkmale oder Eigenschaften Amazon-Lister - Fehler und Bugs 0
Neu B2B Preis für JTL Wawi -> Amazon aktivieren, nur wie? User helfen Usern - Fragen zu JTL-Wawi 4
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 2
Automatischer Workflow für Versand von Gutscheinen versendet den Gutschein nicht JTL-Wawi 1.10 2
Workflow für Benachrichtigung bei Stammkunden JTL-Wawi 1.10 9
Ameise Preisimporte für Marktplätze funktionieren nicht JTL-Wawi 1.10 1
Neu Druckvorlagensets für Kundengruppen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 7
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Neu Seagull Treiber für den Zebra LP2844 JTL-ShippingLabels - Fehler und Bugs 0
Neu In welcher Tabelle werden die Daten für den Amazon Lister 2.0 gespeichert? Amazon-Lister - Fehler und Bugs 5
Neu zweiten Mandanten für Ankauf von Ware? gleiche Firma, gleiche Person. Lizenzen? User helfen Usern - Fragen zu JTL-Wawi 2
Preis im Warenkorb für 10 min sichern, wenn Preis geändert wurde. Ist das möglich? Einrichtung JTL-Shop5 3
Neu Staffelpreise für Metro.de JTL-Ameise - Ideen, Lob und Kritik 0
Neu Auslesen Bestand per Lager für Workflow zur Anzeige im Onlineshop User helfen Usern - Fragen zu JTL-Wawi 2
Einstellungen für den DHL Ausdruck für Retourenetiketten für limango JTL-Wawi 1.10 0
Neu Verschiedene Startseiten für angemeldete und nicht angemeldete Benutzer möglich? Allgemeine Fragen zu JTL-Shop 6
Keine Suchergebnisse für Artikelnummer Lieferant JTL-Wawi 1.10 2
Neu Ankündigung: Entwicklung eines modified-Connectors für JTL-WaWi Modified eCommerce-Connector 0
Neu Eazyedit - KI-Bildbearbeitung für JTL User helfen Usern 0
Neu After-Sales-Marketing für Reputationsmanagement und Kundenbindungsmaßnahme User helfen Usern 0
Kann keinen neuen Export für Google Shopping mehr erstellen Allgemeine Fragen zu JTL-Shop 4
AltTitle für Bilder im WebShop und SEO? Einrichtung JTL-Shop5 1
Neu geplanter Releasetermin für Version 5.5.3? JTL-Shop - Fehler und Bugs 4
Neu Softwarelösung für Visagist inkl. Mini-Shop & Kassa User helfen Usern 22
Neu Google shopping export - neue Produkte markieren um eine Werbung nur für neue Produkte laufen zu lassen Technische Fragen zu Plugins und Templates 1
Neu feinere WMS Rechte über Benutzergruppen für gängige WMS Vorgänge JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Neu Fehler Sie können aktuell keine Benutzer-Lizenzen für WMS bzw. WMS Mobile buchen Installation von JTL-WMS / JTL-Packtisch+ 9
In Diskussion Variable für die Anzahl eines Produkts auf der Pickliste JTL-Workflows - Ideen, Lob und Kritik 1
Neu howto: "Rabatte irgnorieren" für einen Artikel per Ameise importieren, so dass in einem angeschlossenen POS dieser Artikel keine Rabatte bekommt User helfen Usern - Fragen zu JTL-Wawi 11
Neu Optimale Einstellungen für Mitarbeitende mit Beeinträchtigungen finden Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Neuer Dienstleister für E-Commerce Services Dienstleistung, Jobs und Ähnliches 0
Neu Lieferzeiten für Dropshipping und eigene Artikel richtig in Shopware 6 bzw. Wawi anzeigen Schnittstellen Import / Export 1
Neu Retourenlabel für DHL Selbstzahler über Retouren erstellen geht nicht JTL-ShippingLabels - Fehler und Bugs 0
Neu Buchungsgründe für Bareinnahmen und -ausgaben auf Tagesabschluss ausweisen JTL-POS - Ideen, Lob und Kritik 0
Neu Aktueller Installationsleitfaden / Softwareempfehlung für JTL Wawi 1.10.x im Netzwerk User helfen Usern - Fragen zu JTL-Wawi 2
Neu Hilfe für Amazon und Lister 2.0 gesucht Amazon-Anbindung - Ideen, Lob und Kritik 7
Neu Welches PlugIn für ein besseres Google Ranking? Plugins für JTL-Shop 2
Lieferanschrift für Lieferantenbestellung ändern JTL-Wawi 1.8 3
Versandkostenstaffel nur für bestimmte Artikel zählen lassen? JTL-Wawi 1.9 1
Neu JTL-Shop Lieferanten Artikelnummer und Suchbegiffe für Onlineshop werden im Shop nicht gefunden Allgemeine Fragen zu JTL-Shop 5
Neu Die Zahlungsart SOFORT ist eine Plugin-Zahlungsart für Mollie. Das zugehörige Plugin ist jedoch nicht installiert! Allgemeine Fragen zu JTL-Shop 0

Ähnliche Themen