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

Xantiva

Sehr aktives Mitglied
28. August 2016
1.787
313
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.787
313
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
6.639
1.583
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
6.639
1.583
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
6.639
1.583
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
6.639
1.583
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: 18
  • Bild2.jpg
    Bild2.jpg
    57,1 KB · Aufrufe: 16
  • Bild3.jpg
    Bild3.jpg
    53,3 KB · Aufrufe: 17
  • Bild4.jpg
    Bild4.jpg
    55,7 KB · Aufrufe: 17

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.639
1.583
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
6.639
1.583
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 Suche Workflow Bedingung: "Wenn nicht storniert?" User helfen Usern - Fragen zu JTL-Wawi 2
JTL Mahnwesen Workflow- Email nach 30 Tagen noch nicht bezahlt. JTL-Wawi 1.8 0
Neu Workflow der bei Stücklisten: Überverkäufe de-/aktivieren User helfen Usern - Fragen zu JTL-Wawi 11
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Workflow Marktplätze - Otto, Kaufland, etc. JTL-Wawi 1.6 0
Workflow Artikel + Anzahl in Einkaufsliste aktualisieren JTL-Wawi 1.8 0
Neu Workflow Web-Request Post für mollie Arbeitsabläufe in JTL-Wawi 5
Workflow MwSt.-Sätze ersetzen 0% -> 19% ändert netto in Positionen aber nicht in der Auftragssumme JTL-Wawi 1.7 2
Neu API Integration via Workflow Arbeitsabläufe in JTL-Wawi 8
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
In Bearbeitung Workflow offene Aufträge zusammenfassen bei ausgelieferten JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow-Auswahl ... mit ins Kontext-Menü aufnehmen (rechten Maustaste) JTL-Wawi - Ideen, Lob und Kritik 2
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Workflow für Artikel versandklassen JTL-Wawi 1.7 1
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Workflow für Versandart Wenn/Und JTL-Wawi 1.7 0
Workflow für Amazon Zahlart erstellen JTL-Wawi 1.7 0
In Diskussion Workflow von Stornobelege Rechnung JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Gelöst Servicedesk Workflow Datei erstellen um einen Auftrag zu ändern Gelöste Themen in diesem Bereich 1
Neu Workflow mit Freipositionen in Email Gelöste Themen in diesem Bereich 3
Neu Workflow > Rechnungen > Label Setzen ? (1.8.11) User helfen Usern - Fragen zu JTL-Wawi 6
Neu Workflow Ereignis auslösen wenn alle Bedingungen erfüllt sind. Sonst anderes Ereignis auslösen. JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow für Rechnung gesucht Arbeitsabläufe in JTL-Wawi 1
Workflow - Debitorennummer JTL-Wawi 1.8 2
In Diskussion Workflow - Artikelmerkmale setzen? JTL-Workflows - Ideen, Lob und Kritik 2
Workflow: Mahnungen - Fehler JTL-Wawi 1.8 5
Neu Workflow Lieferantenartikel-Nummer vor Artikelname setzen JTL-Wawi 1.7 1
In Diskussion Workflow wenn offene Rechnungen, dann weitere offene Aufträge sperren und im Kundensatz Sperrung setzten. JTL-Workflows - Ideen, Lob und Kritik 0
Workflow für Kaufland greift nicht mehr 1.8.11.0 kaufland.de - Anbindung (SCX) 5
[JTL-WAWI API] - Trigger Sales Order Workflow Event JTL-Wawi 1.8 3
Workflow-Bug: 1.8.11 Attribute in Workflow setzen JTL-Wawi 1.8 10
In Diskussion Workflow, Wert setzen aus Zwischenablage/Clipboard JTL-Workflows - Ideen, Lob und Kritik 0
Neu EK-Preise per Workflow in Lieferantenbestellung einfügen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Rechnungsvorlage ändern klappt nicht - Wawi 1.7.13.1 User helfen Usern - Fragen zu JTL-Wawi 0
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0
Workflow Bug: Rechnungskorrektur erstellen aus Retoure JTL-Wawi 1.8 4
Gelöst In Workflow auf Stücklistenartikel zugreifen und dessen Eigenschaften anzeigen Gelöste Themen in diesem Bereich 7
Neu Manueller Workflow alle Artikel markieren funktioniert nicht JTL-Wawi - Fehler und Bugs 3
Englische Artikelbezeichnung in einem Workflow JTL-Wawi 1.7 0
In Diskussion Workflow für unbearbeitete Pickliste (versehentlich unbearbeitete in Auftrag verpacken verschieben) JTL-Workflows - Ideen, Lob und Kritik 2
Speichern von Retouren-Workflow schlägt fehl (JTL 1.6.39.0) JTL-Wawi 1.6 2
Neu Workflow: Vorname bei Auftragserstellung löschen Wawi 1.5 Gelöste Themen in diesem Bereich 3
Neu Vorschlag: Per Workflow Tickets erstellen Servicedesk (Beta) 1
Neu Workflow - Oberkategorie prüfen Eigene Übersichten in der JTL-Wawi 10
Neu Bedingung triff nicht zu: (3 Kleiner gleich 21) Gelöste Themen in diesem Bereich 4
JTL Wawi Update 1.7.15.5 - Worker hat keinen Zugriff auf DB JTL-Wawi 1.7 6
Lieferant hat identischen Artikel von verschiedenen Herstellern oder verschiedene Packungsgrößen JTL-Wawi 1.7 0

Ähnliche Themen