Gelöst Nach Auftragserfassung prüfen ob externe Auftragsnummer schon vorhanden ist

Hellum

Aktives Mitglied
10. Juni 2020
28
6
Hallo,

wie kann ich per Workflow prüfen ob bereits ein Auftrag für einen Kunden mit der selben externen Aufragsnummer angelegt wurde?
Damit möchten wir verhindern, dass eine Kundenbestellung doppelt angelegt wird und die Ware mehrfach das Haus verlässt.
Sollte per Workflow erkannt werden, dass bereits ein Auftrag für diesen Kunden mit der selben externen Auftragsnummer existiert, dann möchte ich den Auftragserfasser darüber per E-Mail informieren.

Vlt. hat hier ja jemand einen Tipp wie ich dies prüfen kann.
 

Karobube

Sehr aktives Mitglied
23. September 2020
214
158
Remote via AnyDesk
Firma
contact@karobube.com
Hallo Hellum,

mit einer erweiterten Eigenschaft als Bedingung bei den Auftrag-Erstellt (und evtl auch Auftrag-geändert, wenn es mal händisch eingetragen wird) Workflows:

{% capture query -%}\
SELECT COUNT ( tBestellung.kBestellung )
FROM tBestellung
WHERE tBestellung.cInetBestellNr = '{{ Vorgang.Stammdaten.ExterneAuftragsnummer }}'
AND tBestellung.kBestellung != '{{ Vorgang.Stammdaten.InterneAuftragsnummer }}'
AND tBestellung.tKunde_kKunde = '{{ Vorgang.Stammdaten.Kunde.InterneKundennummer }}'
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{% if result > 0 -%}\
true
{% else -%}\
false
{% endif -%}

gibt WAHR zurück, wenn es für den Kunden schon einen Auftrag mit derselben externen Auftragsnummer gibt.

Als Workflow-Aktion kannst Du dann direkt eine Mail an den Kunden mit Dir im BCC senden.

VG aus Grenoble
KB

PS: Rückgabetyp Boolean nicht vergessen

1628083721844.png
 
Zuletzt bearbeitet:

jooochensen

Mitglied
28. Oktober 2021
10
1
Hallo @Karobube, vielen Dank. Das funktioniert wunderbar.
Ich habe nur eine Anmerkung bzw Frage.

Wie kann der Code dementsprechend angepasst werden, so dass Aufträge mit leeren externen Auftragsnummer ignoriert werden?
Denn wenn ich Sofortaufträge erstelle, dann wird keine externe Auftragsnummer vergeben. Gibt es folglich zwei Sofortaufträge, dann wird dieser entsprechend des Workflows zurückgehalten.

Vielen Dank für eure/deine Unterstützung.
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
636
208
{% capture query -%}\
SELECT COUNT ( tBestellung.kBestellung )
FROM tBestellung
WHERE tBestellung.cInetBestellNr = '{{ Vorgang.Stammdaten.ExterneAuftragsnummer }}'
AND tBestellung.kBestellung != '{{ Vorgang.Stammdaten.InterneAuftragsnummer }}'
AND tBestellung.tKunde_kKunde = '{{ Vorgang.Stammdaten.Kunde.InterneKundennummer }}'
AND tBestellung.cInetBestellNr != ''
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{% if result > 0 -%}\
true
{% else -%}\
false
{% endif -%}

Hier das ganze ohne Aufträge die eine leere externe Bestellnummer haben
 

Ähnliche Themen