Neu Workflow-Bedingung: Hat der Kunde noch offene Bestellungen?

Xantiva

Sehr aktives Mitglied
28. August 2016
1.789
316
Düsseldorf
Hallo,

vielleicht könnte mir jemand bei der Erstellung eines Workflows helfen?

Wenn ein Auftrag erstellt wird, möchte ich prüfen ob die Zahlart "Rechnung" ist und der Kunde ggf. noch nicht bezahlte Aufträge hat. Ich finde nur leider kein passendes Feld für die Bedingung "noch unbezahlte Bestellungen" ...

Und ich fürchte, für die Erweiterten Eigenschaften fehlen mir noch ein paar grundlegende Kenntnisse in DotLiquid, etc.

Danke,
Mike
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.789
316
Düsseldorf
In der Zwischenzeit habe ich mal herumexperimentert ...

Die erste Bedingung ist Zahlart des Auftrags = Rechnung.

Dann habe ich diese Abfrage erstellt:

Sind weitere Bestellungen für die Kundennummer vorhanden, die nicht bezahlt sind (Datum Bezahlt => NULL).
Code:
{% capture query %}
SELECT k.cKundenNr
FROM tBestellung AS b
LEFT JOIN tKunde AS k ON(b.[tKunde_kKunde] = k.kKunde)
WHERE k.cKundenNr LIKE '{{ Vorgang.Stammdaten.Kunde.Kundennummer }}' 
  AND b.cBestellNr NOT LIKE '{{ Vorgang.Stammdaten.Auftragsnummer }}'
  AND b.dBezahlt IS NULL
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

Falls das Ergebnis > 0, dann E-Mail versenden.

Die Tests funktionieren. Gibt es noch andere Bedingungen, die berücksichtigt werden sollten?

Ciao,
Mike
 
  • Gefällt mir
Reaktionen: frohkost

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.251
1.977
Berlin
Code:
WHERE k.cKundenNr LIKE '{{ Vorgang.Stammdaten.Kunde.Kundennummer }}'

ein LIKE wird verwendet wenn du einen Teilstring suchst, also Beispielsweise:
Code:
WHERE k.cKundenNr LIKE '%{{ Vorgang.Stammdaten.Kunde.Kundennummer }}'

Diese Suche geht auf die Performance (je nach Menge der Kunden oder Bestellungen).
Bei dir sind die gesuchten Felder aber eindeutig, daher solltest du lieber einfach nur diese Art der Abfrage nehmen
Code:
WHERE k.cKundenNr = '{{ Vorgang.Stammdaten.Kunde.Kundennummer }}'
und bei dem anderem dann anstelle von NOT LIKE einfach !=
 

aaLeeX_010401

Aktives Mitglied
19. Dezember 2017
108
3
Vielen Dank für diesen Beitrag. Genau das was ich gesucht habe.

Ich habe verwende diesen Code(für alle Zahlungsarten), jedoch fällt mir auf, dass ich bei jedem Auftrag der erstellt wird eine E-Mail bekomme. Mein Wunsch ist es nur dann eine E-Mail zu bekommen, wenn der Kunden
alte Aufträge hat die nicht bezahlt wurden. Wenn ein Auftrag gerade angelegt wird, ist es ja klar, dass er noch nicht bezahlt wurde.

Nochmal zum Workflow:
If Code > 0 then E-Mail

Evtl. @css-umsetzung eine Idee?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.251
1.977
Berlin
also diese Abfrage hier "SELECT k.cKundenNr" setzt vorraus das deine Kundennummer nur aus Zahlen besteht wenn du das mit >0 abfragst.
Ich hätte das schon wegen der Performance anders gemacht weil mich die Kundentabelle hier gar nicht interessiert.

Code:
{% capture query %}
select count(kBestellung) from dbo.tBestellung
    where tKunde_kKunde={{ Vorgang.Stammdaten.Kunde.InterneKundennummer }}
    and kBestellung != {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
    and dBezahlt is null
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

nun solltest du als result die Anzahl der unbezahlten Aufträge bekommen, der vorhandene Auftrag wird nicht einbezogen.
 
  • Gefällt mir
Reaktionen: aaLeeX_010401

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.251
1.977
Berlin
Das Problem beim oberen ist auch, was steht in result wenn es keine weitere Bestellung gab, denn da ist die Frage wie DotLiquid dann '' oder eben null wertet.
Das ist also eigentlich zu unsicher, meine Abfrage bringt eine eindeutige Zahl, 0 oder irgendwas >0.
 
  • Gefällt mir
Reaktionen: aaLeeX_010401

aaLeeX_010401

Aktives Mitglied
19. Dezember 2017
108
3
Das Problem beim oberen ist auch, was steht in result wenn es keine weitere Bestellung gab, denn da ist die Frage wie DotLiquid dann '' oder eben null wertet.
Das ist also eigentlich zu unsicher, meine Abfrage bringt eine eindeutige Zahl, 0 oder irgendwas >0.

Ich habe die Abfrage jetzt mal im Betrieb laufen lassen.

Es ist trotzdem so, dass eine E-Mail ausgelöst wird, wenn der Kunde nur einen Auftrag hat und zwar den, der gerade angelegt wurde.

Liegt es evtl. an mir? Weil du bist ja der Überzeugung, dass die Abfrage stimmt
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.251
1.977
Berlin
Es muss an dir liegen :)
es ist ja kein Ding, man kann einzelne Aufträge prüfen, was da ausgegeben wird, wenn du das nicht hin bekommst
kann ich dir da auch helfen aber wenn ich per Teamview kommen muss, dann muss ich daran auch was verdienen weil das dann über den normalen Forums Support hinaus geht.
 
  • Gefällt mir
Reaktionen: aaLeeX_010401

aaLeeX_010401

Aktives Mitglied
19. Dezember 2017
108
3
Ich habe den Workflow getestet und geguckt, was er ausgibt bei den zwei Aufträgen, zu denen ich bereits eine E-Mail bekommen habe. (Screenshots anbei)

Ich vermute, dass der Wert größer 1 sein muss? Damit die WAWI nur die zweite Bestellung nimmt? xD
Bild 3 ist nämlich der Fall, wo der Kunde nur einen Auftrag hat und trzdem eine Mail ausgelöst wurde
Bild 4 ist wie es sein sollte, Kunde hat zwei Aufträge (beide nicht bezahlt - der zweite wurde aber gerade erst angelegt)
-> Mail kam an und ich wusste Bescheid, hey der muss seine alte Rechnung erstmal begleichen.

Könntest du bitte kurz in den Workflow schauen? (Screenshots anbei)

Ich komme auf deinen Support definitiv noch zurück, da wir noch mehr Abfragen benötigen.
 

Anhänge

  • Bild1.jpg
    Bild1.jpg
    37,8 KB · Aufrufe: 21
  • Bild2.jpg
    Bild2.jpg
    57,1 KB · Aufrufe: 19
  • Bild3.jpg
    Bild3.jpg
    53,3 KB · Aufrufe: 20
  • Bild4.jpg
    Bild4.jpg
    55,7 KB · Aufrufe: 20

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.251
1.977
Berlin
kannst du mal meinen Query in deinem email text einbinden und dir dann {{ query }} anzeigen lassen.

also das hier fügst du in deinem Mailtext am ende ein:

Code:
-------------------
{% capture query %}
select count(kBestellung) from dbo.tBestellung
    where tKunde_kKunde={{ Vorgang.Stammdaten.Kunde.InterneKundennummer }}
    and kBestellung != {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
    and dBezahlt is null
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}
{{ query }}

Dann sehen wir ja was in dem Query steht und auch was in dem result ist.
 
  • Gefällt mir
Reaktionen: aaLeeX_010401

aaLeeX_010401

Aktives Mitglied
19. Dezember 2017
108
3
Für Bild/Auftrag 3 = 1 select count(kBestellung) from dbo.tBestellung where tKunde_kKunde=8936 and kBestellung != 4433 and dBezahlt is null

Für Bild/Auftrag 4 = 2 select count(kBestellung) from dbo.tBestellung where tKunde_kKunde=8735 and kBestellung != 4326 and dBezahlt is null
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.251
1.977
Berlin
hast du einen SQL Mananger oder Heidi SQL?
dann gib mal das da drin ein:

Code:
select *  from dbo.tBestellung where tKunde_kKunde=8936 and kBestellung != 4433 and dBezahlt is null

dann siehst du welchen Auftrag er dir anzeigt.

und hier dann ja beide
Code:
select * from dbo.tBestellung where tKunde_kKunde=8735 and kBestellung != 4326 and dBezahlt is null
 

aaLeeX_010401

Aktives Mitglied
19. Dezember 2017
108
3
hast du einen SQL Mananger oder Heidi SQL?
dann gib mal das da drin ein:

Code:
select *  from dbo.tBestellung where tKunde_kKunde=8936 and kBestellung != 4433 and dBezahlt is null

dann siehst du welchen Auftrag er dir anzeigt.

und hier dann ja beide
Code:
select * from dbo.tBestellung where tKunde_kKunde=8735 and kBestellung != 4326 and dBezahlt is null

Kannst du genauer beschreiben, wo man das eingeben soll?

War im SQL Konfig Manager und habe nichts gefunden
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL Worker führt den Workflow nicht aus User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow testen, teilweise unmöglich aktuelles Beispiel zu wählen JTL-Workflows - Fehler und Bugs 10
Beantwortet Workflow manuell Preisreduzierung 10% JTL-Workflows - Ideen, Lob und Kritik 4
In Diskussion Workflow Benachrichtigung wenn 80% vom Anfangsbestand verkauft wurde JTL-Workflows - Ideen, Lob und Kritik 7
Neu Custom Workflow: Zuordnung einer Verantwortlichen Person zu Artikeln User helfen Usern - Fragen zu JTL-Wawi 3
Neu Vorauss. Lieferdatum = Heute in Workflow abfragen? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow Email versenden wenn Durchnittseinkaufspreis sich verändert hat JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow o.Ä. gesucht für Versanddatenimport Arbeitsabläufe in JTL-Wawi 3
In Diskussion Automatische Workflow laufen nicht JTL-Workflows - Fehler und Bugs 4
In Diskussion In Workflow auf Views zugreifen JTL-Workflows - Ideen, Lob und Kritik 4
Neu Workflow für Otto.de Bestellungen über Amazon MCF Otto.de - Anbindung (SCX) 0
In Diskussion Workflow soll nur Montags bis Freitags greifen JTL-Workflows - Ideen, Lob und Kritik 12
Neu Workflow: Adresse - Strasse kürzen ( ab Wert "OT" ) User helfen Usern - Fragen zu JTL-Wawi 6
Workflow FollowUP Angebot JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet E-Mail Vorlage Versandbestätigung per Workflow ausführen, wie? JTL-Workflows - Ideen, Lob und Kritik 7
In Diskussion Brauche Hilfe bei Bestand Email Workflow JTL-Workflows - Ideen, Lob und Kritik 17
In Diskussion Workflow besteht alle Test wird nur nicht ausgeführt JTL-Workflows - Fehler und Bugs 23
Verwiesen an Support Workflow artikel_erstellt wird bei LagerUmbuchung ausgelöst. JTL-Workflows - Fehler und Bugs 1
Neu Workflow Hilfe gesucht, Ersetzten eines Textes User helfen Usern - Fragen zu JTL-Wawi 4
Neu Workflow und Version für Vorhaben Starten mit JTL: Projektabwicklung & Migration 3
Neu Workflow erstellen, einen Wert aus den Stammdaten kopieren in einen anderen User helfen Usern - Fragen zu JTL-Wawi 8
Neu Workflow Auftragssplit bei DHL Export Sendungen mit mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Artikelnummer durch Lieferantennummer ersetzen User helfen Usern - Fragen zu JTL-Wawi 6
In Diskussion Log bei Workflow Fehler JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Rechnungsentwurf per Workflow? JTL-Workflows - Ideen, Lob und Kritik 7
Neu Workflow Fehler User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 7
In Diskussion Custum Workflow - Syntax JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Keine Auslieferung nach Zahlungsartänderung über Workflow JTL-Workflows - Fehler und Bugs 4
Zahlungsmodul Workflow JTL-Wawi 1.9 17
Neu Workflow: Mail bei Notiz in Auftrags-Historie User helfen Usern - Fragen zu JTL-Wawi 1
Beantwortet Manueller Workflow lässt sich nicht anlegen (V 1.9.5.2) JTL-Workflows - Fehler und Bugs 13
Neu Hilfe bei Workflow - falsche Steuernummer bei Amazon hinterlegt User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow Freiposition JTL-Workflows - Fehler und Bugs 1
In Diskussion Workflow für Liefertag Wareneingang? JTL-Workflows - Ideen, Lob und Kritik 2
Neu Workflow - Wert "Netto-EK" im Auftrag auf 0,00 € setzen für eine bestimmte Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow mit verfügbarem Bestand User helfen Usern - Fragen zu JTL-Wawi 4
Von Workflow lokal gespeicherte Datei direkt wieder löschen lassen JTL-Wawi 1.8 1
Neu Per WMS Workflow API Call ausführen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
In Diskussion Fragen zur Rechnungserstellung via Workflow JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Manueller Workflow zeitgestuert JTL-Workflows - Ideen, Lob und Kritik 20
Neu Workflow Adresse prüfen auf deutsche Kunden eingrenzen Gelöste Themen in diesem Bereich 6
Neu Brauche Hilfe bei einen Workflow in Sachen Versand Eigene Übersichten in der JTL-Wawi 6
Verwiesen an Support WAWi Workflows mit Zahlungen als Bedingung funktioniert nicht JTL-Workflows - Fehler und Bugs 2
In Diskussion Retoure: Bedingung Artikelzustand JTL-Workflows - Ideen, Lob und Kritik 11
Neu List&Label Bei Bedingung "FALSE" Breite der Spalte beibehalten User helfen Usern - Fragen zu JTL-Wawi 6
Neu PayPal Checkout -> Der Zahlungsanbieter hat eine erneute Bestätigung der Kaufsumme angefordert Plugins für JTL-Shop 0
Neu WARNUNG JTL GPSR Plugin 1.0.2 funktioniert nicht, wenn Artikel keine Beschreibung hat Plugins für JTL-Shop 20
Hat sich erledigt. Kann ein Mod diesen Post löschen? JTL-Wawi 1.9 0
Neu "Noch X € und wir versenden kostenfrei" hat einen Fehler Betrieb / Pflege von JTL-Shop 0

Ähnliche Themen