Werkzeugfee
Aktives Mitglied
Hallo allerseits,
wir machen bei uns ziemlich viel mit Workflows aber einen bekomme ich einfach nicht hin,
damit er funktioniert wie ich es möchte.
Der Workflow soll melden, sofern ein Datensatz doppelt existiert, sobald ein neuer Kunde angelegt wird.
Dies soll entweder anhand identischer Emailadresse ODER identischer Adresse ermittelt werden.
Identische Emailadressen funktionieren problemlos,
aber bei der komplexeren Abfrage der identischen Adressdaten scheint etwas falsch zu sein,
sodass es mich immer informiert, sobald ein Kunde in der gleichen STADT wie ein anderer bereits existierender Kunde angelegt wird.
Bedingung:
eigens dafür angelegte Erweiterte Eigenschaft "InterneKundennummer" ist nicht leer
Hier der Quellcode der erweiterten Eigenschaft:
( hab ich glaub ich irgendwo als empfohlenen Workflow mal gefunden und versucht zu verbessern )
{% capture query %}
SELECT cKundenNr FROM tKunde
WHERE kKunde != {{ Vorgang.InterneKundennummer }}
AND (
( cEMail = '{{ Vorgang.Adresse.EMail }}') AND cEMail != null
OR ( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR ( cName = '{{ Vorgang.Adresse.Nachname }}'
AND cFirma = '{{ Vorgang.Adresse.Firma }}'
AND cOrt = '{{ Vorgang.Adresse.Ort }}'
AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}
Hier die Abfrage zur Ausgabe des Emailtextes:
{% capture query %}
SELECT * FROM tKunde
where kKunde != {{ Vorgang.InterneKundennummer }}
and (
(cEMail !='' AND cEMail = '{{ Vorgang.Adresse.EMail }}')
OR( cFirma != '' AND cFirma ='{{ Vorgang.Adresse.Firma }}' )
OR( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR( cName = '{{ Vorgang.Adresse.Nachname }}' AND cOrt ='{{ Vorgang.Adresse.Ort }}' AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQuery %}\
Es wurde vermutlich ein bereits bestehender Kunde nochmals angelegt.
neu Angelegter Kunde:
~~~~~~~~~~~~~~~~~~~~~
Name: {{ Vorgang.Vorname }} {{ Vorgang.Name }}
Kundennummer: {{ Vorgang.Kundennummer }}
PLZ / Ort: {{ Vorgang.PLZ }} {{ Vorgang.Ort }}
Straße: {{ Vorgang.Straße }}
E-Mail: {{ Vorgang.EMail }}
{{ Vorgang.eBayName }} - {{ Vorgang.Herkunft }}
Ermittelte Kunden die bereits in der Datenbank vorhanden sind:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{% for item in result.Daten -%}
Name: {{ item.cVorname }} {{ item.cName }}
Kundennummer: {{ item.cKundenNr }}
Firma: {{ item.cFirma }}
PLZ / Ort: {{ item.cPLZ }} {{ item.cOrt }}
Straße: {{ item.cStrasse }}
E-Mail: {{ item.cEMail }}
{{ item.ceBayName }} - {{ item.cHerkunft }}
{% endfor -%}
----
Vielleicht kann mir hier ja ein echter Profi den Fehler sagen
Wäre jedenfalls für die Hilfe dankbar.
Mfg Julian
--- REVISED ---
Nichtmehr existente Variable Vorgang.Adresse.Name durch Vorgang.Adresse.Nachname ersetzt.
Sowohl in der Erweiterten Eigenschaft als auch im Email-Quelltext.
wir machen bei uns ziemlich viel mit Workflows aber einen bekomme ich einfach nicht hin,
damit er funktioniert wie ich es möchte.
Der Workflow soll melden, sofern ein Datensatz doppelt existiert, sobald ein neuer Kunde angelegt wird.
Dies soll entweder anhand identischer Emailadresse ODER identischer Adresse ermittelt werden.
Identische Emailadressen funktionieren problemlos,
aber bei der komplexeren Abfrage der identischen Adressdaten scheint etwas falsch zu sein,
sodass es mich immer informiert, sobald ein Kunde in der gleichen STADT wie ein anderer bereits existierender Kunde angelegt wird.
Bedingung:
eigens dafür angelegte Erweiterte Eigenschaft "InterneKundennummer" ist nicht leer
Hier der Quellcode der erweiterten Eigenschaft:
( hab ich glaub ich irgendwo als empfohlenen Workflow mal gefunden und versucht zu verbessern )
{% capture query %}
SELECT cKundenNr FROM tKunde
WHERE kKunde != {{ Vorgang.InterneKundennummer }}
AND (
( cEMail = '{{ Vorgang.Adresse.EMail }}') AND cEMail != null
OR ( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR ( cName = '{{ Vorgang.Adresse.Nachname }}'
AND cFirma = '{{ Vorgang.Adresse.Firma }}'
AND cOrt = '{{ Vorgang.Adresse.Ort }}'
AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}
Hier die Abfrage zur Ausgabe des Emailtextes:
{% capture query %}
SELECT * FROM tKunde
where kKunde != {{ Vorgang.InterneKundennummer }}
and (
(cEMail !='' AND cEMail = '{{ Vorgang.Adresse.EMail }}')
OR( cFirma != '' AND cFirma ='{{ Vorgang.Adresse.Firma }}' )
OR( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR( cName = '{{ Vorgang.Adresse.Nachname }}' AND cOrt ='{{ Vorgang.Adresse.Ort }}' AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQuery %}\
Es wurde vermutlich ein bereits bestehender Kunde nochmals angelegt.
neu Angelegter Kunde:
~~~~~~~~~~~~~~~~~~~~~
Name: {{ Vorgang.Vorname }} {{ Vorgang.Name }}
Kundennummer: {{ Vorgang.Kundennummer }}
PLZ / Ort: {{ Vorgang.PLZ }} {{ Vorgang.Ort }}
Straße: {{ Vorgang.Straße }}
E-Mail: {{ Vorgang.EMail }}
{{ Vorgang.eBayName }} - {{ Vorgang.Herkunft }}
Ermittelte Kunden die bereits in der Datenbank vorhanden sind:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{% for item in result.Daten -%}
Name: {{ item.cVorname }} {{ item.cName }}
Kundennummer: {{ item.cKundenNr }}
Firma: {{ item.cFirma }}
PLZ / Ort: {{ item.cPLZ }} {{ item.cOrt }}
Straße: {{ item.cStrasse }}
E-Mail: {{ item.cEMail }}
{{ item.ceBayName }} - {{ item.cHerkunft }}
{% endfor -%}
----
Vielleicht kann mir hier ja ein echter Profi den Fehler sagen
Wäre jedenfalls für die Hilfe dankbar.
Mfg Julian
--- REVISED ---
Nichtmehr existente Variable Vorgang.Adresse.Name durch Vorgang.Adresse.Nachname ersetzt.
Sowohl in der Erweiterten Eigenschaft als auch im Email-Quelltext.
Zuletzt bearbeitet: