In Bearbeitung [WAWI-40779] Mahnstufen (bezahlt/nicht bezahlt) als eigene Ansicht

Wir hätten gerne eine eigene Übersicht der Mahnstufen eines Kunden. Im Bestfall kann man die einzeln aufgelisteten Stufen direkt anklicken ohne jedes mal den umständlichen Weg über "Zahlungen/Mahnlauf" gehen zu müssen.
Also quasi eine Ansicht wie der Tab "Rechnungen" nur eben für die einzelnen Mahnungen und den aktuellen Status.

Unbenannt.JPG

Herzliche Grüße
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.268
324
Das ist eine wirklich gute Idee. Sag mal an, welche Spalten Du da sehen wollen würdest, dann widersprech ich Dir kurz, schlage noch was anderes vor, wir einigen uns und ich schreibe Dir (und mir) die SQL-Abfrage ...
 
Gute Frage.

Also im Kundenprofil sollten folgende Spalten vorhanden sein:
- Mahnstufe
- Mahngebühr
- Angemahnt am
- Zahlungsziel (Datum)
- Karenzzeit
- Rechnungsbetrag
- Dazugehörige Auftragsnummer

Wenn möglich, wäre es super, die einzelnen Mahnstufen untereinander und nicht als "eine Position" anzuzeigen.
Bin gespannt, was du dazu ergänzen würdest :)

Beste Grüße
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.268
324
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.

JTLWawi_1.5.10.0_EigeneÜbersichtenKunden_Platzmangel.png

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!" ... o_O

Gruß,
Ingmar
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.268
324
Hallo Manuel,

die Frage geht eigentlich nicht an mich, sondern an JTL, denn per Klick ein internes Dokument zu öffnen hat ja nichts mit SQL zu tun, sondern mit programmierter Logik. Und JTL gibt uns ja hier sozusagen nur "ein Plätzchen frei" wo wir per SQL Abfrage Daten darstellen dürfen. Wie die Daten dann von der Wawi interpretiert werden und was dann mit den Daten geht, darauf haben wir absolut 0,000% Einfluß.

Ich habe zum Beispiel gerade einmal den SQL Code so geändert, dass in der ersten Spalte immer eine gültige URL steht, sagen wir mal "http://www.nasa.gov". Das wird dann auch brav in der Tabelle angezeigt, aber die Idee, die Wawi könnte das als URL erkennen und intern schon darauf vorbereitet sein, bei einem Doppelklick darauf einen externen Browser zu starten und die URL-Seite anzuzeigen, ist eben leider naiv ...

Das Ganze wäre aber auch für JTL nicht ganz so einfach umzusetzen, denn dazu müsste die Wawi ja wissen, oder irgendwie zusammen mit der SQL Datentabelle mitgeteilt bekommen, was für Daten jede Spalte enthält, was für Objekte (Rechnung, Auftrag, Mahnung, ...) das also sind und wie darauf mit einem Doppelklick reagiert werden soll. Sicher, das wäre echt cool, wenn wir derart "tief" mit der Wawi interagieren könnten, aber davon sind wir leider meilenweit entfernt.

Gruß,
Ingmar
 

Über uns

  • In unserem moderierten JTL-Forum könnt Ihr Euch themenbezogen mit der JTL-Community rund um die Produkte von JTL, passende Erweiterungen und den E-Commerce im Allgemeinen austauschen, Tipps und Tricks teilen sowie Verbesserungswünsche und Fehler diskutieren.

    Unsere Forumsnutzer helfen sich untereinander auch gerne weiter, wenn Sie mal nicht weiterkommen oder einen Ratschlag benötigen.

Schnell-Navigation

Benutzer Menü