Neu Packstation Adressen per Workflow korrigieren

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.765
194
Hallo,

mit der so angegebenen Adresse hab ich es getestet und es hat funktioniert.

1. Ruf bitte einmal den Workflow auf.

2. Dann bitte bei dem Punkt von:

===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz

den Code aufrufen (die drei Punkte)

3. Wähle als "Vorschau-Auftrag" den Auftrag mit der Adresse aus.

4. Dann wechsle bitte zu "Vorschau (Text)"

Jetzt sollte dir "115,9123456788" angezeigt werden. Ist das so?
Leider nein, da ist nur die DHL Nummer, nichts davor, kein "KOMMA"
Schaue ich bei "Straße" kommt auch nur "Packstaton" - nicht die zugehörige Nummer. (Aber zumindest das vom Kunden angegebene "DHL" ist raus geschnitten)
Da scheint bei mir mit dem "Split" was nicht zu passen.

Ich schaue mir alle Codes noch mal genau an, ob da beim Copy/Paste irgendwo was schief gelaufen ist.


#### EDIT ####

Alles gut, läuft. ICH bin einfach Blind und Blöd.
Nach dem Kopieren des ganzen Quellcodes ist mir irgendwie der Haken bei "Feld löschen" rein gerutscht.
Damit war dann alles weider weg.

Haken raus, Quellcode neu rein. Auftrag gesetzt und getestet. Alles korrekt....
"115,98....."

Sorry - ich brauche dringend Urlaub.
 
Zuletzt bearbeitet:

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.284
1.217
Mega Workflow, seit 2 Tagen im Test (rund 50 Packstationen), alle Änderungen vollkommen richtig gemacht.

Dank dir dafür.

Das man so einen Beitrag nur so zufällig, im Forum sieht, ist halt schade.
 

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Ich nutze den Workflow auch und dieser funktioniert ganz gut.
Heute hatte ich dennoch einen Fall, wo im Feld Straße die Packstationsnummer und die Hausnummer zusammengeführt wurde.
Der Kunde hatte die Packstation und deren Straße in ein Feld geschrieben. Siehe unten das Beispiel:

Alte Adresse:
Name: Max Mustermann
Adresszusatz: 123456789
Straße: Packstation 987 (musterstr. 31)
PLZ: 90471
Ort: Nürnberg


Neue Adresse:
Name: Max Mustermann
Adresszusatz: 123456789
Straße: Packstation 98731
PLZ: 90471
Ort: Nürnberg

Vielleicht schafft es jemand den Workflow so anzupassen, damit dieser Fehler auch kompensiert wird?
Ich blicke da nicht durch und bin froh, dass es Leute wie euch gibt, die uns solch ein tollen Workflow kostenlos zur Verfügung stellen. Danke nochmal.

Freundlichen Gruß
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Hallo Tsuc, danke das du den Bug gemeldet hast! Es lag an den Klammern, mit welchen Dotliquid nicht umgehen konnte.

Hier die neue Version bei der Sonderzeichen nicht mehr berücksichtigt werden.

Worklow zu Packstation V0.11B:

Bug: Sonderzeichen können beim extrahieren der Nummern zu Problemen führen
Fix: Sonderzeichen werden vor dem extrahieren entfernt.

> 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,3}[Nn]\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 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 > 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,3}[Nn]\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 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 > 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 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,3}[Nn]\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 PackstationNr = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrRichtigGesetzt != "True" and PackstationNrRichtigGesetzt != "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,3}[Nn]\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 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 > 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: sjk und Tsuc

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Hatte heute wieder einen Fall, der nicht funktionierte.
Der Kunde hat in das Feld Adresszusatz die "Packstation 143" geschrieben und bei Straße, die "Straße inkl Hausnummer der Packstation".

Daher dachte der Workflow, dass die Hausnummer der Straße die Postnummer ist.
Die Postnummer hat der Kunde in diesem Auftrag komplett vergessen :rolleyes:

Unten das Beispiel:

Alte Adresse:
Name: Max Mustermann
Adresszusatz: Packstation 143
Straße: Georg Schumann Strasse 105-109
PLZ: 04155
Ort: Leipzig


Neue Adresse:
Name: Max Mustermann
Adresszusatz: 105109
Straße: Packstation 143
PLZ: 04155
Ort: Leipzig

Freundlichen Gruß
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Alte Adresse:
Straße: Georg Schumann Strasse 105-109

Hi, hier ist das Grundproblem das die Packstationsnummer keine Prüfziffer hat :(

Die 105109 könnte tatsächlich eine Packstationsnummer sein. Also gäbe es nur die Möglichkeit den Code schärfer zu stellen. Also das sobald ein Leerzeichen, Bindestrich oder ähnliches in der Nummer vorkommt es nicht mehr auszuführen oder hiermit zu leben.

Meine Tendenz ist es schärfer zu stellen, da die Adresse so zumindest in der Händischen bearbeitung landen.

Ich schau mir es mal in Ruhe an. Es könnte aber ein kleines bisschen (mind. 2-3 Wochen) dauern bis ich dazu komme.
 

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Hier ist der Workflow komplett nicht angesprungen.

Adresse:
Name: Max Mustermann
Adresszusatz: Packstation Nr. 120
Straße: Postnummer: 12345678
PLZ: 74653
Ort: Künzelsau

Ich schreibe das nur zur Info. Nicht, dass ich erwarte das jemand dies schnell und überhaupt anpassen muss.
Bin schon froh, dass wir den Workflow kostenlos nutzen dürfen. Vielen Dank @Boarder

Soll ich weiterhin solche Infos posten?
 

Boarder

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

danke @Tsuc das du dir die Mühe machst die Fehler zu melden. Wie @trennscheibenwelt geschrieben hat, hilft dies enorm den Workflow weiter zu verbessern.

Ich bin jetzt endlich dazu gekommen die Bugs zu korrigieren.

Worklow zu Packstation V0.12B:

Bug: Hausnummer (102-105) werden als Packstation erkannt.
Fix: "-" wird von dem Sonderzeichen entfernen ausgenommen.

Bug: Bei "Packstation Nr. 120" startet der Workflow nicht
Fix: Pseudo Fehlertoleranz erkennt jetzt auch diese kombination

Neu: Verbesserungen bei der Erkennung ob die Postnummer alleine im Adresszusatz steht, wodurch sie nicht als Firmenzusatz angehangen wird.

> 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 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 > 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 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 > 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 PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9]' -%}
{% 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 PostNrRichtigGesetzt = "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 PackstationNr = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrRichtigGesetzt != "True" and PackstationNrRichtigGesetzt != "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 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 > 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:

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Ich weiß, dass es keine echte Postnummer prüfung ist. Aber weiß jemand, wie lang die sein darf?
Es scheint, als wäre die Postnummer zu lang. DHL meldet jedenfalls einen Fehler:

Originalmeldung
Meldung: Die verwendete Postnummer ist nicht gültig. Bitte geben Sie eine gültige Postnummer an.

Es geht um diese Adresse:
Name: Max Mustermann
Straße: Packstation 105
Adresszusatz: 105852346020 (zu lang?)
PLZ: 11111
Stadt: Musterstadt
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Zur Zeit sind es 6-9 Stellen. Ich habe es nach oben offen gelassen, damit DHL die Nummern erweitern kann ohne das Anpassungen nötig sind. Wenn DHL einen fehler Meldet ist ja alles gut. Geht damit in die händische Bearbeitung. Was anderes würde auch nicht passieren wenn ich es beschränken würde.
 

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Zur Zeit sind es 6-9 Stellen. Ich habe es nach oben offen gelassen, damit DHL die Nummern erweitern kann ohne das Anpassungen nötig sind. Wenn DHL einen fehler Meldet ist ja alles gut. Geht damit in die händische Bearbeitung. Was anderes würde auch nicht passieren wenn ich es beschränken würde.

Bei uns ist das so, dass die Aufträge vor dem Picken auf zurückgehalten gesetzt werden.
So verlagert sich das Problem in den Versand. Erst nach dem versuchten Versand, kann der Kundendienst den Fehler erkennen und melden. Da geht uns ein bisschen Korrigierzeit verloren.
Damit können wir aber leben :)
Vielen Dank nochmal für das Update :thumbsup:

Wenn man es doch auf 9 Stellen begrenzen möchte. Kann man das schnell durch hinzufügen einer Zahl umsetzten? Oder ist es so verzwickt, dass man den Code komplett umschreiben muss. Frage aus Interesse, falls ich das doch eigenständig mal testen möchte.
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
OK, bei euch werden also alle Aufträge auf zurückhalten gesetzt und diejenige die automatisch koregiert wurden nicht?

Es ist nur eine kleine Änderung in IstPackstation Enthält True
Vor {% if IstPostNr > 99999 -%} wird noch eine Prüfung eingefügt ob die die Nummer größer ist als 9 Stellen, und diesem Fall dann auf 0 gesetzt damit der Workflow erst gar nicht gestartet wird. Dann muss die Person die es korrigiert jedoch auch wissen da es 9 Stellen max sind.

Code:
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}

Da es so auch nicht stört, solange DHL nicht umstellt und ich hoffe wenn Sie umstellen fügen Sie eine Prüfziffer hinzu, habe ich es in den Code mit aufgenommen:

Packstation V0.13B

Bug: Workflow startet wenn Postnummer zu lang ist.
Fix: Prüfung ob Postnummer zu lang ist

> 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 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 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 PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9]' -%}
{% 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 PostNrRichtigGesetzt = "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 PackstationNr = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrRichtigGesetzt != "True" and PackstationNrRichtigGesetzt != "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 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:
  • Ich liebe es
Reaktionen: Tsuc

Tsuc

Sehr aktives Mitglied
28. Januar 2020
246
43
Berlin
Vielen Dank für die schnelle Rückmeldung.
Mir ist noch aufgefallen, dass PACKSTATION in Großbuchstaben automatisch auf Packstation geändert wird? Ist das eine Vorgabe von DHL? Oder hat das nur kosmetische Gründe?
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
DHL sagt "Packstation". Es wird am Ende geprüft ob nach einem Korrekturdurchlauf es genau so Vorhanden ist wie DHL es angegeben haben möchte. Es kann sein das dies auch groß funktionieren würde, doch entspricht das nicht der DHL-Vorgabe.
 
Zuletzt bearbeitet:

Tsuc

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

Anbei eine Adresse wo der Workflow zwar anspring, aber ein falsches Ergebnis erzeugte:

original Adresse:
Name: Max Mustermann
Adresszusatz: Packstation 110/123456789
Straße: Musterstr. 2
PLZ: 12345
Ort: Musterstadt


nach dem Workflow:
Name: Max Mustermann
Adresszusatz: 110123456789
Straße: Packstation 11012
PLZ: 12345
Ort: Musterstadt
 

Boarder

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

danke für das melden des Bugs. Diese Bugs haben sich alle eingeschlichen durch das entfernen der Sonderzeichen.

Packstation V0.14B

Bug: "/" wird nicht berücksichtigt
Fix: Sonderzeichen werden nicht mehr entfernt sonder mit einem Leerzeichen ersetzt.

Bug: Adresszusatz wurde nicht mehr in den Firmenzusatz kopiert.
Fix: bessere Erkennung ob nur Packstationsnummer oder nur Postnummer sowie nur Packstation mit Postnummer im Adresszusatz sind.

> 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 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 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 PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | 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 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}}
 
Ä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