Gelöst Workflow - Rechnungskauf - Zahlungsart ändern bei offenem Posten

Reskey

Aktives Mitglied
20. Mai 2019
18
3
Wir bieten in unserem Onlineshop die Möglichkeit für Kauf auf Rechnung.

Wir möchten aber gerne dass es nicht möglich ist mehre Bestellungen auf Rechnung aufzugeben solange eine alte Rechnung nicht beglichen ist.



Es müsste also, so bald eine neue Bestellung rein kommt geprüft werden:

Ist „Offener Posten Gesamt“ größer als „als offener Posten Auftrag“

Falls ja, soll die Zahlungsart auf Vorkasse gesetzt werden und der Kunde darüber Benachrichtig werden, dass aufgrund von einer offenen Rechnung die Zahlungsart auf Vorkasse gewechselt wurde.



Wie die Kundennachricht und die Zahlungsänderung einzustellen ist, ist mir bewusst. Ich habe nur keine Idee wie ich die abfrage gestalten kann



Möglichst sollte das im Auftragsbereich passieren, da ja bei jeden neuen Auftrag geprüft werden muss, ob eine offene Rechnung vorhanden ist.



Für Ideen bin ich sehr dankbar
 

Björn Ponsen

Moderator
Mitarbeiter
1. Juli 2016
987
90
Hallo zusammen,

Ihr könntet über ein DirectQuery in den erweiterten Eigenschaften prüfen, ob es ältere Aufträge gibt, wo noch offene Beträge vorhanden sind.

Das könnte dann so aussehen.

Kunde hat unbezahlte Positionen aus vorherigen Bestellungen

Code:
SELECT

CASE WHEN EXISTS

(
SELECT DISTINCT (b2.kBestellung),(Verkauf.tAuftragEckdaten.fOffenerWert) FROM tkunde

    JOIN tBestellung b1 ON  (b1.tKunde_kKunde = tkunde.kKunde AND  b1.cBestellNr = '{{ Vorgang.Stammdaten.Auftragsnummer | SqlEscape }}')

    JOIN tBestellung b2 ON (b2.tKunde_kKunde = b1.tKunde_kKunde) AND (b2.dErstellt < b1.dErstellt)

    JOIN Verkauf.tAuftragEckdaten ON Verkauf.tAuftragEckdaten.kAuftrag = b2.kBestellung
        
WHERE Verkauf.tAuftragEckdaten.fOffenerWert >  0
    
) THEN 1 ELSE 0 END



{% endcapture -%}\

{% assign result = query | DirectQueryScalar %}\

{{ result }}

Hier könnt ihr die Bedingung auf gleich 0 prüfen. Da 1 bedeuten würde JA es gibt Aufträge die noch nicht bezahlt sind.​

Aktion:​

"E-Mailsenden" und "Auftrag zurückhalten".​

 

Ähnliche Themen