Gelöst Schuldner nochmals bestellt

Bolschi

Gut bekanntes Mitglied
2. Mai 2016
222
8
Hey, ich benutze für nicht bezahlte Aufträge und eine nachfolgende erneute Bestellung des gleichen Kunden einen Workflow unter Aufträge und frage mit folgender "Erweiterer Bedingung"

{% capture query %}
SELECT k.cKundenNr
FROM tBestellung AS b
LEFT JOIN tKunde AS k ON(b.[tKunde_kKunde] = k.kKunde)
WHERE k.cKundenNr = '{{ Vorgang.Stammdaten.Kunde.Kundennummer }}'
AND b.cBestellNr != '{{ Vorgang.Stammdaten.Auftragsnummer }}'
AND b.dBezahlt IS NULL
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

die Kundendaten ab. Danach wird der Auftrag als Aktion- Zurückgehalten und ich erhalten eine eMail um den Vorgang zu überprüfen. (kann ja mal schief laufen)

Der Workflow läuft auch Super.

Nun hat ein Kunde mit gleichem Namen, Anschrift und PLZ erneut bestellt hat aber eine andere e-mail Adresse angegeben. Diese Auftrag lief leider durch.
Kann die oben genannte Bedingung irgendwie verändert werden.
Am Besten wäre wenn der Familienname, PLZ und Ort abgeglichen werden, mehr nicht. Stimmen diese drei Werte überein soll die Bedingung bereits erfüllt sein.

Kann mir hier jemand behilflich sein

Vielen Dank!!
Marco
 

Bolschi

Gut bekanntes Mitglied
2. Mai 2016
222
8
Hallo die Bedingung wie oben beschrieben:
https://guide.jtl-software.de/Workflow:_Doppelte_Kunden_prüfen
Funktioniert mit Wawi 1.4. nicht mehr?

{% capture query %}
SELECT cKundenNr FROM tKunde
WHERE kKunde != {{ Vorgang.InterneKundennummer }}
AND (
( cEMail = '{{ Vorgang.Adresse.EMail }}')
OR ( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR ( cName = '{{ Vorgang.Adresse.Name }}'
AND cOrt ='{{ Vorgang.Adresse.Ort }}'
AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}


Ich erhalte folgende Ausgabe in der Vorschau?

Fehler im Befehl: Ungültiger Spaltenname "cEMail".
Ungültiger Spaltenname "cTel".
Ungültiger Spaltenname "cTel".
Ungültiger Spaltenname "cName".
Ungültiger Spaltenname "cOrt".
Ungültiger Spaltenname "cPLZ".

Wo könnte das Problem liegen?
Bolschi
 
Zuletzt bearbeitet:

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.508
Es haben sich einige Tabellen geändert durch die Anpassung der Kundenverwaltung.
Ich bitte mal die Redaktion darum, dass sie eine aktualisierte Version des Workflows bereitstellen.
 

Björn Ponsen

Moderator
Mitarbeiter
1. Juli 2016
961
84
Hey,

die tKunde wurde geändert. Das ist jetzt Kunde.lvKundenDaten das ist dann die passende Sicht, die Joint dann schon richtig auf tAdresse. und cEmail ist jetzt cMail
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.508
Die richtige Abfrage muss demzufolge so lauten:
{% capture query %}
SELECT cKundenNr FROM Kunde.lvKundenDaten
WHERE kKunde != {{ Vorgang.InterneKundennummer }}
AND (
( cMail = '{{ Vorgang.Adresse.EMail }}')
OR ( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR ( cName = '{{ Vorgang.Adresse.Name }}'
AND cOrt ='{{ Vorgang.Adresse.Ort }}'
AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}
 

Bolschi

Gut bekanntes Mitglied
2. Mai 2016
222
8
also so?

{% capture query %}
SELECT cKundenNr FROM Kunde.lvKundenDaten
WHERE kKunde != {{ Vorgang.InterneKundennummer }}
AND (
( cMail = '{{ Vorgang.Adresse.EMail }}')
OR ( cTel != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
OR ( cName = '{{ Vorgang.Adresse.Name }}'
AND cOrt ='{{ Vorgang.Adresse.Ort }}'
AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
)
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

Ups to Late :) Dankesehr!!!
 
  • Gefällt mir
Reaktionen: Rico Giesler

Bolschi

Gut bekanntes Mitglied
2. Mai 2016
222
8
So habe es eben mal geprüft als erweiterte Eigenschaft und mit Ist nicht leer.
Es funktioniert leider nicht die Rückmeldung ist immer leer. Egal ob ich einen doppelten Kunden nehme oder nicht. Ich habe es bei 10 Fällen durchprobiert..
Hat jemand eine Lösung?
 

houdap

Aktives Mitglied
24. November 2017
47
2
Hey, ich benutze für nicht bezahlte Aufträge und eine nachfolgende erneute Bestellung des gleichen Kunden einen Workflow unter Aufträge und frage mit folgender "Erweiterer Bedingung"

{% capture query %}
SELECT k.cKundenNr
FROM tBestellung AS b
LEFT JOIN tKunde AS k ON(b.[tKunde_kKunde] = k.kKunde)
WHERE k.cKundenNr = '{{ Vorgang.Stammdaten.Kunde.Kundennummer }}'
AND b.cBestellNr != '{{ Vorgang.Stammdaten.Auftragsnummer }}'
AND b.dBezahlt IS NULL
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

die Kundendaten ab. Danach wird der Auftrag als Aktion- Zurückgehalten und ich erhalten eine eMail um den Vorgang zu überprüfen. (kann ja mal schief laufen)

Der Workflow läuft auch Super.

Nun hat ein Kunde mit gleichem Namen, Anschrift und PLZ erneut bestellt hat aber eine andere e-mail Adresse angegeben. Diese Auftrag lief leider durch.
Kann die oben genannte Bedingung irgendwie verändert werden.
Am Besten wäre wenn der Familienname, PLZ und Ort abgeglichen werden, mehr nicht. Stimmen diese drei Werte überein soll die Bedingung bereits erfüllt sein.

Kann mir hier jemand behilflich sein

Vielen Dank!!
Marco


Moin,

bei mir funktioniert dieser Workflow nicht. Bei einigen Kunden wird zurückgehalten, bei anderen wiederum nicht, obwohl bei beiden Kunden keine offenen Rechnungen vorhanden sind..
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.639
1.583
Berlin
Ich würde bei den Kunden und auch beim Auftrag nur von der ID ausgehen und nicht von Auftrags- und Kundennummer.
Ich würde auch eher count(k.kKunde) anstelle von k.cKundenNr nehmen.
 

Bolschi

Gut bekanntes Mitglied
2. Mai 2016
222
8
Hey, ja aber es rutschen weiterhin einige dreiste Besteller durch. Beispiel: erneute Gastbestellung, Kunde ist Schuldner bestellt ein zweites mal mit anderer email Adresse und anderen Vornamen.
So wie ich das Script verstehe funktioniert es nur bei gleicher Kundennummer und nicht bei Kunden die ständig als Gast bestellen also eine neue Kundennummer erhalten.
Ist es möglich nur folgende Punkte abzufragen?

PLZ
ORT
und Familiename

Wenn alle drei Bedingungen zutreffen-> Trigger -> email auslösen?

Danke Marco