Hi
@wasserfilter-experten,
das mit dem Widersprechen habe ich jetzt mal übersprungen und habe stattdessen eine Version erstellt, die ein paar mehr Variablen ausgibt, als Du angefordert hattest und die Idee ist, dass es eigentlich leicht für Dich und andere sein sollte, die Variablen per Cut & Paste umzustellen oder auch einzelne, die Ihr nicht haben wollt, zu löschen. Here we go ...
SQL:
SELECT t3.cBestellNr AS 'Auftragsnummer', t1.cRechnungsNr AS 'Rechnungsnummer', CONVERT(DECIMAL(10,2),fBruttoBetrag) AS 'Rechnungsbetrag',
DATEDIFF(day,DATEADD(day,t1.nZahlungsziel,t1.dErstellt),dMahndatum-1) AS 'Fälligkeitstage', nMahnstufeAktuell AS 'Mahnstufe',
CONVERT(DECIMAL(10,2),fGebuehrPauschal) AS 'Mahngebühr', CONVERT(DECIMAL(10,2),fGebuehr-fGebuehrPauschal) AS 'Mahnzinsen',
CONVERT(DECIMAL(10,2),fBruttoBetrag+fGebuehr) AS 'Gesamtforderung', CONVERT(VARCHAR(10),dMahndatum,104) AS 'Mahndatum',
CONVERT(VARCHAR(10),dZahlungsfrist,104) AS 'Zahlfrist', nKarenzzeit AS 'Karenzzeit' FROM dbo.trechnung t1
JOIN dbo.tZahlungsErinnerung t2 ON t2.kRechnung=t1.kRechnung
AND NOT EXISTS
(SELECT * FROM dbo.tZahlungsErinnerung tmp WHERE tmp.kRechnung=t1.kRechnung
AND tmp.nMahnstufeAktuell > t2.nMahnstufeAktuell)
JOIN dbo.tBestellung t3 ON t3.tRechnung_kRechnung=t2.kRechnung
JOIN dbo.tkunde t4 ON t4.kKunde=t1.tKunde_kKunde
WHERE (dErledigt IS NULL) AND t1.tKunde_kKunde=@Key
GROUP BY t2.nMahnstufeAktuell, t3.cBestellNr, t1.cRechnungsNr, t2.fBruttoBetrag, t1.nZahlungsziel, t1.dErstellt, t2.dMahndatum,
t2.fGebuehrPauschal, t2.fGebuehr, t2.dZahlungsfrist, t2.nKarenzzeit
ORDER BY t2.nMahnstufeAktuell DESC, t3.cBestellNr ASC
Wichtige Anmerkung: Die "Fälligkeitstage", die hier ausgegeben werden, sind
nicht die aktuellen Fälligkeitstage, sondern die Fälligkeitstage
zum Zeitpunkt der Erstellung der jeweiligen Mahnung! Wenn ihr stattdessen die Fälligkeitstage
bis Heute haben wollt, müsst ihr nur die zweite Zeile wie folgt ersetzen...
SQL:
DATEDIFF(day,DATEADD(day,t1.nZahlungsziel,t1.dErstellt),GetDate()-1) AS 'Fälligkeitstage', nMahnstufeAktuell AS 'Mahnstufe',
Ich habe übrigens Deine Bitte,
"die einzelnen Mahnstufen untereinander und nicht als eine Position anzuzeigen" nicht so ganz verstanden. Ich hab das jetzt mal so umgesetzt, dass nach Mahnstufen gruppiert ausgegeben wird und innerhalb jeder Mahnstufe aufsteigend nach Auftragsnummern sortiert wird. Das macht aus meiner Sicht die Dringlichkeit von oben nach unten klar sichtbar, aber falls das nicht das ist, was Du meinstest, lass' es mich wissen.
Die Spaltennamen sind recht "sprechend" also lang gewählt und es sieht vielleicht so aus, als ob die Anzeigespalten wegen der Labels so breit wären. Das stimmt aber nicht, die Spaltenbreite ist von JTL so vorgegeben. Da ist definitiv noch etwas zu verbessern, zumal dadurch maximal 7 Spalten auf den Schirm passen und was passiert, wenn es mehr als 7 sind, sieht man auf dem folgenden Screenshot.
Dann wird nämlich noch ein horizontaler Scrollbalken eingeblendet und dadurch dass die unteren beiden Fenster auch bei FullHD nur extrem flach sind und sich die Ansicht "Kunde 2.0" auch nicht deren manuell veränderte Höhe (und natürlich auch nicht eine manuell eingestellte Fensterbreite) merkt, startet die
Wawi jedes Mal mit einem Fensterzustand, bei dem nicht eine einzige (aka "keine") Mahnzeile sichtbar ist und man nach jedem Auftruf der Wawi erst einmal das untere Fenster im Bereich Kunde von Hand nach oben ziehen muss, um überhaupt zu sehen, ob es hier etwas zu sehen gibt, was schon an "tierisch nervig" grenzt.
Aber JTL ist ja (zu Recht) sehr stolz auf die neuen "Eigenen SQL Übersichten" und vielleicht hilft das ja (zusammen mit unseren Klagen), um hier (relativ) schnell Abhilfe zu schaffen. Denn so wie es jetzt ist mit den viel zu geringen Fensterhöhen und der Vergesslichkeit der Wawi, was den Fensterzustand angeht, kann man die SQL Übersichten gleich wieder vergessen, echt frei nach dem Motto "Aus dem Auge, aus dem Sinn!" ...
Gruß,
Ingmar