Neu DotLiquid Frage - String kürzen

ninoboender

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

wir haben folgendes Szenario. Siehe Screenshot...würden gerne in einer Druckvorlage die Summe aus zwei Teilen darstellen. Kann jemand weiterhelfen? Im Prinzip müssen zwei Strings gekürzt werden und dann zusammenausgebeben.
 

Anhänge

  • JTL.jpg
    JTL.jpg
    377,1 KB · Aufrufe: 181

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
401
Das ist schon etwas schwieriger, denn hier muß in der Mitte des Strings gesucht und teilweise auch mitten im String ausgeschnitten werden und Zeichen ersetzt werden. Alles in allem aber wieder nur eine kleine Fingerübung, die Du Dir mit den hier auftauchenden Befehlen wirklich einmal "raufschaffen" solltest, denn da ist viel Musik für eigene Anpassungen drin.
Code:
Atrim$(Mid$(Auftragspositionen.Bezeichnung,StrPos(Auftragspositionen.Bezeichnung,"/",3)+1,StrPos(Auftragspositionen.Bezeichnung,"/",4)-StrPos(Auftragspositionen.Bezeichnung,"/",3)-1))+"_"+StrSubst$(Atrim$(Left$(Auftragspositionen.Artikelnummer,StrPos(Auftragspositionen.Artikelnummer,"-",2))),"-","_")

Um nich nach dem ersten, sondern einem späteren Auftreten eines Zeichens oder eines Teilstrings in einem String zu suchen, gibt es beim StrPos() Befehl den letzten Parameter, eine Zahl, die angibt, das wievielte Vorkommen des Strings oder hier des "/" Zeichens denn gemeint ist. Hier muss also in Deiner Artikelbezeichnung der Bereich zwischen dem dritten und dem vierten Auftreten des Strings ausgeschnitten werden.

Im anderen String ist es ähnlich. Auch hier geht es um das zweite Auftreten von "-" und alles links davon soll zurückgeliefert werden, also benutze ich Left$(). Da Du die "-" dann in "_" gewandelt haben willst, findest Du hier auch noch den Befehl SubStr$(), der ganz ähnlich wie StrPos$() in einem Text nach einem Teiltext oder auch nur nach einem Zeichen sucht, dieses Zeichen oder diesen Teiltext dann aber gegen einen anderen Text austauscht.
 
  • Gefällt mir
Reaktionen: mahohmh und StaniM

dmc

Aktives Mitglied
3. Januar 2013
62
1
Hallo!

Kann es sein, dass die Trimmbefehle mit der aktuellen 1.3 wie z.B. Left$() nicht mehr zur Verfügung stehen?

Danke & Grüße

P.S. Ich habe nicht bedacht, dass sich obiger Fall auf die Druckvorlagen bezieht. Mir geht es um die Möglichkeit Strings in einem Workflow zu beschneiden. Da wird ein solcher Filter nicht angeboten...
 
Zuletzt bearbeitet: