Neu Packstation Adressen per Workflow korrigieren

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Hallo zusammen,

Ansich nur ein Schönheitsfehler.
Anbei eine Adresse wo der Workflow den Namen so belässt und dadurch die Packstationsnummer in Name und in Adresszusatz auftaucht:

original Adresse:
Name: Max, Mustermann, 123456789
Adresszusatz:
Straße: Packstation 110
PLZ: 12345
Ort: Musterstadt


nach dem Workflow:
Name: Max, Mustermann, 123456789
Adresszusatz: 123456789
Straße: Packstation 110
PLZ: 12345
Ort: Musterstadt
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Hallo @Tsuc ,

ohne das @JTL uns die Möglichkeit gibt eigene Filter (Funktionen) zu bauen ist für diese Änderung so viel mehr Code nötig und damit Fehleranfälligkeit so deutlich gesteigert, dass es für den nicht vorhanden Nutzen, es nicht sinvoll ist das einzubauen.

Edit: Es würde sogar mit den Filter bedeuten das für jedes Feld am Ende des Worklfows ein eigener Codeblock eingegeben werden muss. Was auch bei der Einrichtung die Fehleranfälligkeit deutlich steigert.

Also vorerst leider Änderung abgelehnt. Trotzdem vielen dank für das melden.

LG Enrico
 
Zuletzt bearbeitet:

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Hallo @Boarder,

Das nicht alles Umgesetzt werden kann ist schade, aber nicht schlimm. Wir sind froh, dass es jemanden gibt, der sich überhaupt dem Thema annimmt und uns viel Korrekturarbeit spart. Vielen Dank nochmal :)

Ich habe heute noch ein "Schönheitsfehler ", den ich zur Vollständigkeit mitteilen möchte.

Alte Adresse:
Name: 123456789
Adresszusatz: Max Mustermann
Straße: Packstation 129
PLZ: 12345
Ort: Musterstadt

Neue Adresse:
Firmenzusatz: Max Mustermann
Name: 123456789
Adresszusatz: 123456789
Straße: Packstation 129
PLZ: 12345
Ort: Musterstadt
 

BeniF

Sehr aktives Mitglied
27. September 2018
406
132
Hi Boarder,

wir verwenden auch Deinen Workflow - tausend Dank dafür!

Wir haben festgestellt, dass Leerzeichen zwischen der Postnummer nicht entfernt werden und DHL deswegen kein Label druckt, z. B. 123 456 748

Grüße
Beni
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Wir haben festgestellt, dass Leerzeichen zwischen der Postnummer nicht entfernt werden und DHL deswegen kein Label druckt, z. B. 123 456 748

Das geht leider nur zum Teil umzusetzen ohne das es Fehler erzeugen würden. Leider hat die Postnummer weder eine feste Anzahl von Stellen (es sind 6-9) noch eine Prüfziffer.

Beispiel:
Straße: Packstation 123
Adresszusatz: Musterstraße 1 12345678

Wenn nun die Leerzeichen zwischen den Nummern nicht beachtet werden kann es vorkommen, dass eine Zahl die vor der Postnummer steht auch dazu gezählt werden würde. Hier wäre die Nummer dann 112345678 obwohl 12345678 richtig wäre.

Ich habe es jetzt so eingabaut das die Leerzeichen nur nicht beachtet werden, wenn nichts anderes in der Zeile vorkommt. Das sollte die meisten Fälle abdecken und die Fehler vermeiden.

Das heißt:

Adresszusatz: 123 456 789 [startet]
Adresszusatz: abc 123 456 789 [startet nicht]

Packstation V0.15B

Neu: Wenn nichts weiteres außer Zahlen und Leerzeichen in dem Adressfeld vorkommen, werden die Leerzeichen bei der Postnummer nicht berücksichtigt.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter  -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% if IstPostNrAlleine == '' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' '  -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% if IstPostNrAlleine == '' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrString = PostNr -%}
{% assign IstPostNrAlleine = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% if IstPostNrAlleine == '' -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[\s]','' -%}
{% endif -%}
{% assign PostNrTest = PostNrTest | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNrString = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNrString | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PostNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PackstationNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,3}' -%}
{% if PackstationNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% if NurPackstationOderPostNr != "True"-%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% if IstPostNrAlleine == '' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 
Zuletzt bearbeitet:

BeniF

Sehr aktives Mitglied
27. September 2018
406
132
Danke, testen wir gleich.

Ich wollte noch folgende Adressen posten, welche leider nicht geändert wurden: ( V0.14B )

Straße: "Dhl Packstation XXX"
Adresszusatz: "123 456 789"

sollte ja nun mit V0.15B funktionieren, oder?

und

Straße: "Packstation XXX"
Adresszusatz: "Postnummer 123456789"

Grüße
Beni
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Straße: "Dhl Packstation XXX"
Adresszusatz: "123 456 789"

Das geht jetzt.

Straße: "Packstation XXX"
Adresszusatz: "Postnummer 123456789"

Das ging schon immer ohne Leerzeichen und geht auch weiterhin. Damit hast du mich aber auf eine Idee gebracht. Adresszusatz: "Postnummer 123 456 789" geht jetzt auch. Danke dafür!

Packstation V0.16B

Neu: Zusätzlich zu Leerzeichen und Zahlen kann jetzt auch "Postnummer:" (mit pseudo Fehlertoleranz) in dem Adressfeld vorkommen, damit die Leerzeichen zwischen den Zahlen ignoriert werden.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter  -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% if IstPostNrAlleine == '' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' '  -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% if IstPostNrAlleine == '' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrString = PostNr -%}
{% assign IstPostNrAlleine = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% if IstPostNrAlleine == '' -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[\s]','' -%}
{% endif -%}
{% assign PostNrTest = PostNrTest | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNrString = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNrString | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PostNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PackstationNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,3}' -%}
{% if PackstationNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% if NurPackstationOderPostNr != "True"-%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% if IstPostNrAlleine == '' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Dano, BeniF und chd

BeniF

Sehr aktives Mitglied
27. September 2018
406
132
Der Workflow arbeitet wirklich super - erspart uns jede Menge Arbeit.

Gestern hatten wir zwei Aufträge bei denen der Workflow nicht gegriffen hat:

Name Vorname
Dhl Packstation 106 Postnummer XXX XXX XXX
Leipziger Straße 38
65191 Wiesbaden

(die Straße + Leerzeichen zwischen der Postnummer müsste entfernt und die Postnummer in das richtige Feld verschoben werden)

und

Vorname Name
Packstation 146
XXX XXX XXX X
65462 Ginsheim

(Leerzeichen zwischen der Postnummer müssten entfernt werden)
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Packstation V0.17B

Neu: Leerzeichen werden auch ignoriert bei der Postnummer, wenn im Feld die Packstation mit Nummer vorkommt. Zusätzlich dürfen vor der PackstationNr auch - aber ausschließlich - Buchstaben vorkommen.
BugFix: Firmenzusatz wurde nicht beibehalten wenn nur Packstation oder Postnummer im Adresszusatz standen.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' '  -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrString = PostNr -%}
{% assign IstPostNrAlleine = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign PostNrTest = PostNrTest | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign PostNrTest = PostNrTest | Replace: {{ReplaceReg}},'' -%}
{% assign PostNrTest = PostNrTest | Replace: '[\s]','' -%}
{% endif -%}
{% assign PostNrTest = PostNrTest | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNrString = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNrString | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PostNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PackstationNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,3}' -%}
{% if PackstationNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% if NurPackstationOderPostNr == "True"-%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if NurPackstationOderPostNr != "True"-%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 

BeniF

Sehr aktives Mitglied
27. September 2018
406
132
Packstation V0.17B

Neu: Leerzeichen werden auch ignoriert bei der Postnummer, wenn im Feld die Packstation mit Nummer vorkommt. Zusätzlich dürfen vor der PackstationNr auch - aber ausschließlich - Buchstaben vorkommen.
BugFix: Firmenzusatz wurde nicht beibehalten wenn nur Packstation oder Postnummer im Adresszusatz standen.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' '  -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrString = PostNr -%}
{% assign IstPostNrAlleine = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign PostNrTest = PostNrTest | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign PostNrTest = PostNrTest | Replace: {{ReplaceReg}},'' -%}
{% assign PostNrTest = PostNrTest | Replace: '[\s]','' -%}
{% endif -%}
{% assign PostNrTest = PostNrTest | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNrString = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNrString | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PostNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PackstationNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,3}' -%}
{% if PackstationNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% if NurPackstationOderPostNr == "True"-%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if NurPackstationOderPostNr != "True"-%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]',' ' -%}
{% assign IstPostNrAlleine = Feld | Replace: '[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*[0-9]{0,1}[\s]*','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][A-Za-z]{1,3}[Tt][Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[A-Za-z]{0,2}[Oo][A-Za-z]{0,3}[Nn][Uu]{0,1}[Mm]{0,2}[Ee]{0,1}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][A-Za-z]{0,5}[Rr][:]{0,1}','' -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: '[Pp][Oo][Ss][Tt][Nn][A-Za-z]{0,5}[:]{0,1}}','' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% if IstPostNrAlleine == '' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[Pp].{1,3}[kK].{1,3}[aA].{1,3}[oO].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% capture ReplaceReg -%}\s*[a-zA-Z]*\s*[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}{{PackstationNr}}\s*{% endcapture -%}
{% assign IstPostNrAlleine = IstPostNrAlleine | Replace: {{ReplaceReg}},'' -%}
{% assign IstPostNrOrg = Feld | Replace: '[\s]','' -%}
{% endif -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
Wird getestet ;)
 

BeniF

Sehr aktives Mitglied
27. September 2018
406
132
Hi,

wir hatten zwei Fälle bei denen keine Korrektur stattfand:

Max Muster
Musterstr. 38-40a
Postfiliale XXX/ Postnummer 123456789
PLZ Ort

Max Muster, Postnr. 123 456 789
Packstation XXX
PLZ Ort

Grüße
Beni
 

Graewe

Aktives Mitglied
28. August 2014
81
2
Hallo,
wir hier noch dran gearbeitet?

Wir haben einen Fall wo kein true ausgegeben wird:

Mas Mustermann
Straße= Packstation 294 Packstationr 1039812240
Adresszusatz = Heidestraße 15
PLZ = 45476 / Ort = Mülheim An Der Ruhr

Sollte die nicht auch Packstationkonform sein und ein true ausgeben? Ist das nachvollziehbar?

Die Straße mit Hausnummer ist eigentlich überflüssig. Manche Kunden tragen hier die Straße der Packstation ein...
 

Hewimed

Aktives Mitglied
30. Dezember 2020
75
19
Hi,

wir hatten einen Fall bei dem keine Korrektur stattfand:

Max Muster
Packstation 123
Post-Nr.: 123 456 789
PLZ Ort
 

Hewimed

Aktives Mitglied
30. Dezember 2020
75
19
Hi,

wir hatten einen Fall bei dem keine Korrektur stattfand:

Firma: Postnummer 123456789
Straße und Nr.: Postfililale 123

man beachte die Rechtschreibfehler.
 

realpetro7

Neues Mitglied
29. Dezember 2022
1
0
Diesen gibt es derzeit nicht am Stück, er muss einzeln wie angeben, angelegt werden. Einen DB-Patch der diesen Workflow in der Datenbank hinterlegen würde, habe ich dazu nicht geschrieben.
 
Ähnliche Themen
Titel Forum Antworten Datum
Mails von verschiedenen Adressen senden JTL-Wawi 1.9 9
Neu JTL Adressen Integration in TK Anlage (Estos) Schnittstellen Import / Export 1
Neu Mail Vorlagen mit verschiedenen Absender - Mail Adressen User helfen Usern - Fragen zu JTL-Wawi 1
GPRS: Bild ja/nein per Ameise darstellbar? JTL-Wawi 1.9 7
Neu Nur geänderte Artikel per Ameise exportieren JTL Ameise - Eigene Exporte 5
Issue angelegt [WAWI-79159] Verantwortliche Person per WF JTL-Workflows - Ideen, Lob und Kritik 3
Gelöst JTL Pos + Sumup Solo per WLAN JTL-POS - Fragen zu Hardware 4
Neu Enddatum Sonderpreise per Ameise importieren User helfen Usern - Fragen zu JTL-Wawi 5
Beantwortet E-Mail Vorlage Versandbestätigung per Workflow ausführen, wie? JTL-Workflows - Ideen, Lob und Kritik 7
Neu Ameise-Vorlage per SQL abrufen und Daten als Ergebnis erhalten JTL Ameise - Eigene Exporte 1
Neu Erstattungen per Paypal bei Stornierungen wird öfter nicht ausgezahlt Arbeitsabläufe in JTL-Wawi 0
Neu Artikel per Dropshipping versenden und selbst versenden Arbeitsabläufe in JTL-Wawi 1
ebay Angebotsindividuelle Einstellungen setzen per Ameise? JTL-Wawi 1.9 1
Neu Rechnung automatisch per Mail versenden User helfen Usern - Fragen zu JTL-Wawi 9
In Diskussion Rechnungsentwurf per Workflow? JTL-Workflows - Ideen, Lob und Kritik 7
Neu Wie finde ich per SQL heraus welche Aufträge auf Teillieferbar stehen? JTL Ameise - Eigene Exporte 1
Neu Rechnung per Email aus LS-Pos Fragen rund um LS-POS 0
Lieferantenbestellung mit GLS Versandetikett an den Hersteller/Lieferanten per Mail Senden. JTL-Wawi 1.8 0
Neu Mollie Zahlung per Kreditkarte (25% Fehlschlag) User helfen Usern - Fragen zu JTL-Wawi 1

Ähnliche Themen