Eure regex im Workflow

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Erst nochmal vielen Dank für deine Hilfe Tom!
Wir bauen uns das System weiter aus und zwar über Rückhaltegründe.

Ziel ist es das keine manuelle Überprüfung der Adressen mehr stattfindet. Das heißt per WF wird alles geprüft was auch ein Mitarbeiter prüfen kann.
Diese WF´s werden dann erweitert da die jetzt im laufenden Betrieb genutzt werden und in einer Übergangszeit noch Abfragen dazu kommen die sich im Betrieb erst zeigen.

1. Als erstes haben wir uns einen WF gebaut der der die EU Schreibweisen der PLZ`s prüft. (https://forum.jtl-software.de/threads/tipp-plz-fuer-europa-pruefen-und-zurueckhalten.129329/)
2. Diese werden dann auf "Postleitzahl falsch" als Rückhaltegrund gesetzt.
3. Nun muss ja der Mitarbeiter recherchieren wie die richtige PLZ ist. Das machen wir über einen manuellen WF der Google Maps aufruft, mit Straße, Ort, und Land. Die PLZ lassen wir bei der Abfrage raus da ja die Syntax falsch ist.
Anhand des Feldes "Rückhaltegrund" welches wir eingeblendet haben in der Listenansicht, kann der Mitarbeiter sofort sehen was nicht richtig ist.

Folgenden Code haben wir bis jetzt dafür:
Code:
{% assign maps = 'https://www.google.de/maps/place/' -%}
{% if Vorgang.Stammdaten.Rückhaltegrund.Name == "Postleitzahl falsch" %}
explorer "{{ maps }}{{ Vorgang.Lieferung.Lieferadresse.Straße }},+{{ Vorgang.Lieferung.Lieferadresse.Ort }},+{{ Vorgang.Lieferung.Lieferadresse.Landname }}"
{% elsif Vorgang.Stammdaten.Rückhaltegrund.Name == "Strasse falsch" %}
explorer "{{ maps }}{{ Vorgang.Lieferung.Lieferadresse.PLZ }},+{{ Vorgang.Lieferung.Lieferadresse.Ort }},+{{ Vorgang.Lieferung.Lieferadresse.Landname }}"
{% elsif Vorgang.Stammdaten.Rückhaltegrund.Name == "Ortsname falsch" %}
explorer "{{ maps }}{{ Vorgang.Lieferung.Lieferadresse.Straße }},+{{ Vorgang.Lieferung.Lieferadresse.PLZ }},+{{ Vorgang.Lieferung.Lieferadresse.Landname }}"
{% else %}
explorer "{{ maps }}{{ Vorgang.Lieferung.Lieferadresse.Straße }},+{{ Vorgang.Lieferung.Lieferadresse.PLZ }},+{{ Vorgang.Lieferung.Lieferadresse.Landname }}"
{% endif %}
Hinter "explorer" kann man sehen welche Felder nun zu Google Maps übertragen werden. Das else ist nur noch für eine, bei uns häufige Suche ohne Rückhaltegrund. Kommt später denn weech.

Straße haben wir grad angefangen da fragen wir momentan nur ab ob ein Fragezeichen vorkommt, kein Buchstabe enthalten ist, ob keine Zahl vorhanden ist. Wird ausgebaut!
Ort kommt jetzt auch dazu mit der Abfrage steht ein OT drinne, oder folgende Zeichen / ( , ) dann Rückhaltegrund.
Dann haben wir uns noch e-Mail in falschen Feld gebaut. Heißt wenn der Klammeraffe in anderen Feldern vorkommt als email Adresse, dann Rückhaltegrund.

Für alles weitere was wir nicht bestimmen können machen wir uns WF`s die die Fehlermeldung von z.B. DHL auswertet und je nachdem welcher Fehler gemeldet wurde Google Maps mit den entsprechenden Parametern am Packplatz automatisch öffnet.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Newald1004

_simone_

Sehr aktives Mitglied
17. Februar 2013
3.245
463
Emsland
Firma
Notun Delend
Schön, dass du uns am WF teilhaben lässt. Wenn ich noch mit regulären Ausdrücken helfen kann....ich würde mich glatt daran versuchen.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Oh gerne, hatte mich schon nicht mehr getraut zu fragen. Da kommt bestimmt noch was an Fragen. Grad auch zur Optimierung einiges kann man bestimmt eleganter abfragen. Melde mich dann.
Mir ist auch nicht klar ob das jemand gebrauchen kann, aber was solls ich poste das halt einfach mal.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Ich stelle fest das ich für dieses RegEx Zeugs zu blöd bin. Seit 3 Tagen versuche ich was hinzubekommen was dauert an irgendeiner Sache nicht funzt.
Als erstes habe ich mir was gebaut damit ich nicht dauernd einen Verkauf ändern muss.
Code:
{% assign Variable = "Rotestraße 12 OT" %}\

{% assign fragezeichen = Variable | Matches: '[?]'|true  %}\
{% assign strassebuchstabe = Variable | Matches: '[A-Za-z]', true  %}\
{% assign strassezahl = Variable | Matches: '[0-9]', true  %}\
{% assign co = Variable | Matches: '[c/o]'|true  %}\
{% assign ot = Variable | Matches: '[OT]'|true  %}\

{% if Variable == "" %}Feld leer\
{% elsif fragezeichen == true %}Fragezeichen enthalten
{% elsif strassebuchstabe != true %}Buchstabe nicht enthalten
{% elsif strassezahl != true %}Zahl nicht enthalten
{% elsif co == true %}c/o enthalten
{% elsif ot == true %}OT enthalten
{% else %}Alles andere\
{% endif %}
Die Variable "Variable" ändere ich dann einfach gegen das JTL Feld aus und ändere die Ausgabe einfach in für alles okay und 1 für zurück halten.

Es scheint jetzt zu laufen bis auf "c/o" und "OT". Was macht der WF, an Hand des Feldes "{{ Vorgang.Lieferung.Lieferadresse.Straße }}":
1. Steht da ein Fragezeichen drinne zurück halten (Straße falsch)
2. Steht kein Buchstabe drinne zurück halten (Straße falsch)
3. Steht keine Zahl drinne zurück halten (Straße falsch)
4. Steht ein c/o drinne zurück halten (Straße falsch)
5. Steht ein OT drinne, hier muss es genau OT heißen damit z.B. Rotestrasse nicht auch falsch gemeldet wird, zurück halten (Straße falsch)

Wie gesagt die letzten beiden gehen nicht.

Noch eine Frage was heißt das Sternchen vor einer Anweisung? Kann man nicht 2. und 3. in einer Zeile abarbeiten?
 
Zuletzt bearbeitet:

_simone_

Sehr aktives Mitglied
17. Februar 2013
3.245
463
Emsland
Firma
Notun Delend
Der Slash "/" ist ein Steuerzeichen und muß mit \ ecaped werden und dein "c/o" muß mit einer boundery (Wortgrenze) versehen werden, also --> \bc\/o\b
Ähnlich für OT --> \bOT\b

Wo ist denn ein Sternchen?
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Das wars super. Danke dir!

Hier sind die Sternchen drinne:
Code:
{% elsif drei == true %}\
   {% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{3}\b', true  %}\
   {% if PLZ == true %}0
   {% else %}1
   {% endif %}\

Ich habe das Gefühl das wenn ich eine RegEx in den Erweiterten habe die anders geschrieben sind als wenn ich eine RegEx direkt im WF nutze. Kann das sein?
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
3.245
463
Emsland
Firma
Notun Delend
Die Syntax ist bei den regex eigentlich immer gleich...
Das Sternchen ist nicht nur ein Sternchen, sondern eine Leerstelle mit Sternchen. D.h.:
Null oder beliebig viele Leerstellen VOR den drei digits (Zahlen)
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Okay so nun habe ich auch mal was alleine hin bekommen, es geht also vorwärts. Recht vielen Dank.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Hoffe ich nerve nicht. Zwei Sachen hätte ich momentan noch.
1. Litauen kann mit LT vorweg sein oder auch nicht. Wie ich da das Fragezeichen setze weiß ich nicht
Code:
*\b[L][T] ?\-?\ ?\d{5}\b'

2. Kann ich auch mit RegEx folgendes darstellen bzw. prüfen:
Straße: "Randstrasse 12a im Anbau" als Beispiel. Nun möchten die das ich zurückhalte wenn hinter der Hausnummer mehr als 3 Buchstaben sind.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Hi
zu 2. ja das wäre der Fall also Straßennamen, Nummer, Leerzeichen oder auch nicht und dann 3 Zeichen höchstens. Könnte ja auch heißen "Meine Straße 15 a1" bzw. der Bindestrich also denke ich 3 beliebige Zeichen sind besser.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Nur zur Info ich gehe jetzt jeden morgen mit dem Mitarbeiter seine Verkäufe durch wo er was anpassen muss. Dann modifiziere ich dahingehend die WF`s. Sobald der nix mehr hat in der Liste sondern das alles schön in Zurückgehalten ist poste ich die WF`s unter meinen Tipps.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.874
539
Das wars danke dir.
Sag mal Bescheid wenn du was für deinen Computer brauchst oder zum Reiten oder für den Hund oder Geschenke oder Fototapeten oder Sonstiges.
 
  • Haha
Reaktionen: _simone_

_simone_

Sehr aktives Mitglied
17. Februar 2013
3.245
463
Emsland
Firma
Notun Delend
Im Mom brauche ich:
  • 2x identische Rechner im 19" Rack mit i7 und Win10
  • Zum Reiten einen neuen Metzler K3 190/55 ZR 17
  • für den Hund mehr Zeit (hab z.Z. keinen Hund 😥 )
  • Fototapete nicht, hab Fenster ins Grüne
  • ...und für Sonstiges reicht der Platz im Thread nicht^^
...alles gut ;)
 
Ähnliche Themen
Titel Forum Antworten Datum
Seit dem Update auf JTL Wawi 1.11.4 funktioniert der Workflow "Datei Schreiben" nicht JTL-Wawi 1.11 1
Workflow - Werte setzen JTL-Wawi 1.11 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 Workflow Artkel bereits bestellt Arbeitsabläufe in JTL-Wawi 1
Neu Workflow bei Zahlungseingang User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow LandISO User helfen Usern - Fragen zu JTL-Wawi 3
Workflow zum abrufen der Upload-Datei aus dem Shop-Auftrag JTL-Wawi 1.11 0
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Workflow zum automatischen Stornieren einer Rechnung nach Versand User helfen Usern - Fragen zu JTL-Wawi 4
Neu Artikel KinderArtikel anlegen: Workflow "Artikel erstellt und Artikel geändert" werden NUR beim Vaterartikel gestartet User helfen Usern - Fragen zu JTL-Wawi 0
Stornobeleg als Workflow-Trigger JTL-Wawi 1.10 6
Issue angelegt [WAWI-86213] Kartonagen nicht mehr über Workflow auswählbar nach Update auf 1.11.3 JTL-Workflows - Ideen, Lob und Kritik 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
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
In Diskussion Workflow: Straße enthält Postfiliale oder Paketshop JTL-Workflows - Fehler und Bugs 3
Neu Workflow 4 Wochen vor vorraus. Lieferdatum Arbeitsabläufe in JTL-Wawi 1
Überverkäufe über Workflow setzen JTL-Wawi 1.10 2
In Diskussion Workflow alle X Tage ausführen JTL-Workflows - Ideen, Lob und Kritik 5
Ausliefern Workflow über API JTL-Wawi 1.9 6
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
JTL-Workflow | Automatisches Speichern von Rechnungen möglich? JTL-Wawi 1.9 2
In Diskussion Workflow Angebote OHNE Auftrag JTL-Workflows - Ideen, Lob und Kritik 8
Gelöst Workflow-Trigger für Selbstabholung / FFN-Versand JTL-Workflows - Fehler und Bugs 2
In Diskussion Workflow für bezahlte Aufträge eines bestimmten Lagers → Pickliste zu bestimmter Uhrzeit JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow verändert Wert JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Standardlieferant JTL-Wawi 1.10 2
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Gelöst CustomWorkflow erscheint nicht in den Workflow-Aktionen JTL-Workflows - Fehler und Bugs 7
Neu Workflow um einen Artikel bei einem bestimmten Verkaufskanal zu aktivieren oder deaktivieren User helfen Usern - Fragen zu JTL-Wawi 4

Ähnliche Themen