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

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/

Xantiva

Sehr aktives Mitglied
28. August 2016
1.411
219
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.411
219
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
4.617
744
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
4.617
744
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
4.617
744
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
4.617
744
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

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
4.617
744
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
4.617
744
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 Forum Antworten Erstelldatum des Themas
Neu Workflow Nur Eine Bedingung und Bestimmte Bedingung kombiniereren JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflow Retouren - Kunden-E-Mail versenden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow für DHL Label erstellen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Workflow für Aufträge manuell - Dropdown möglich? JTL-Workflows - Ideen, Lob und Kritik 0
Neu Vorlage über Workflow Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Button in JTL-WAWI/WMS mit eigenen Funktionen/Workflow verknüpfen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Workflow - Lieferverzögerung User helfen Usern - Fragen zu JTL-Wawi 0
Neu DotLiquid Workflow Wenn mehr als 1 Postion 2x ausdrucken User helfen Usern - Fragen zu JTL-Wawi 0
Neu Rechnungsdruck per Workflow funktionieren nicht immer User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL Packtisch Workflow User helfen Usern - Fragen zu JTL-Wawi 3
Abgelehnt Versand aus dem Wareneingang mit Eazyshipping - Positionen werden nicht ausgebucht, wenn per Workflow dazugebucht Arbeitsabläufe in JTL-WMS 10
Neu WORKFLOW - Hinweis für Position setzen User helfen Usern - Fragen zu JTL-Wawi 2
Offen Workflow für Aufträge mit Fehlbestand JTL-Workflows - Ideen, Lob und Kritik 17
Neu JTL-Workflow: Manueller Artikel-Workflow funktioniert nur in Simulation (Variationskombinationen) User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow Was habt ihr soo User helfen Usern - Fragen zu JTL-Wawi 3
Offen Workflow DATEI SCHREIBEN als Batch - Fehler/falsche Formatierung? JTL-Workflows - Fehler und Bugs 6
Neu Workflow Erstellung Lieferanten-Artikelnummer nicht gefunden User helfen Usern 1
Gelöst Workflow - Liste mit Kinderartikel ohne Bestellvorschlag jeden Tag versenden per E-Mail JTL-Workflows - Fehler und Bugs 4
Offen JTL Workflow Lieferantenartikel.LagerbestandZumEigenenAddieren JTL-Workflows - Ideen, Lob und Kritik 1
Offen JTL Workflow - Artikelpositionen -> Bezeichnung enthält nicht JTL-Workflows - Fehler und Bugs 2
Neu Artikel wird immer wieder bei Ebay gestoppt - wie kann ich feststellen warum - workflow User helfen Usern - Fragen zu JTL-Wawi 6
Offen Workflow RK erstellt JTL-Workflows - Ideen, Lob und Kritik 1
In Bearbeitung Workflow funktioniert nicht JTL-Wawi - Fehler und Bugs 4
Offen Retouren Workflow bei mehreren Artikel pro Retoure JTL-Workflows - Ideen, Lob und Kritik 1
Offen Workflow Eigene Felder in Anmerkung JTL-Workflows - Ideen, Lob und Kritik 0
Offen Workflow Abfrage ob Boniversum Score in Kundenmaske hinterlegt bei Rechnungskauf JTL-Workflows - Ideen, Lob und Kritik 0
Gelöst Workflow wenn Angebot gelöscht.. JTL-Workflows - Ideen, Lob und Kritik 2
Offen Worker Status in Workflow abfragen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflow Rechnung erstellen unicorn idealo User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow Etikett während Verpacken mit WMS EazyShipping drucken User helfen Usern - Fragen zu JTL-Wawi 8
Neu mehrere Aufträge vom gleichen Käufer erkennen per Workflow JTL-Wawi - Ideen, Lob und Kritik 1
Offen Workflow Gesamtzahl der Artikel im Auftrag zählen JTL-Workflows - Ideen, Lob und Kritik 5
Offen Workflow bei offener Zahlung der letzten Bestellung JTL-Workflows - Ideen, Lob und Kritik 2
Neu Frage zum Workflow "Einkauf" Arbeitsabläufe in JTL-Wawi 0
Offen Workflow basierend auf überschrittenem Lieferdatum JTL-Workflows - Ideen, Lob und Kritik 2
Neu JTL Workflow Auftrag Preise anpassen User helfen Usern - Fragen zu JTL-Wawi 0
In Bearbeitung Workflow wird bei JTL-POS Auftrag nicht ausgeführt JTL-Workflows - Fehler und Bugs 4
Neu Etsy-Preis per Workflow ändern JTL-Workflows - Ideen, Lob und Kritik 0
Offen Workflow ausliefern läuft nicht weiter... JTL-Workflows - Fehler und Bugs 2
Offen Workflow für Email versenden mit definierter Absender-Emailadresse ermöglichen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Bestandsbuchung bzw. Bestandsaubuchung per Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Gelöst Probleme mit Rechnung versenden/Speichern Workflow Gelöste Themen in diesem Bereich 3
In Bearbeitung [WAWI-47188] Workflow Anlieferung FFN -> Email JTL-Workflows - Fehler und Bugs 1
Neu 2 Fragen (Priorität Lagerentnahme / Workflow Mindestbestandsabgleich) nach 4 Wochen Umstellung User helfen Usern - Fragen zu JTL-Wawi 3
Neu Workflow zum Aktivieren / Deaktivieren eines Artikels im Onlineshop Arbeitsabläufe in JTL-Wawi 2
Neu Shop Verfügbarkeitsanfrage per Workflow auf Einkaufsliste Arbeitsabläufe in JTL-Wawi 0
Neu Regelmäßige Betstandskorrektur über Workflow mit Ameise möglich? User helfen Usern - Fragen zu JTL-Wawi 17
Offen Workflow wird nicht ausgelöst: Lieferdatum setzen und Rechnung erstellen nach Versand und komplette Auslieferung JTL-Workflows - Fehler und Bugs 4
Neu Versandart mit Workflow nach Länge ändern User helfen Usern - Fragen zu JTL-Wawi 6
Offen Workflow Hinweis bei knapper Unterzahlung JTL-Workflows - Ideen, Lob und Kritik 2
Ähnliche Themen