Neu ZahlungsFelder nur unbezahlten Rechnungen einblenden

atanke

Gut bekanntes Mitglied
19. April 2018
130
14
Moinsen, ich baue mal wieder an meinen Rechnungen.
Ich möchte gerne die Felder der Zahlungsaufforderungen via Paypal, Überweisung o.ä. nur bei unbezahlten Rechnungen einblenden.

Der Beispielauftrag steht in der WaWi auf "Ist bezahlt = Ja" und der Lieferstatus auf "Ohne Versand abgeschlossen".
Die Variable Report.OpenGrossPrice ist aber nicht Null, sondern entspricht dem Report.TotalGrossPrice.

Wie kann ich herausfinden ob und wann eine Rechnung bzw. Auftrag bezahlt wurde? Ich würde das gerne auf der Rechnung vermerken. Insbesondere bei Paypal-Bestellungen über den Onlineshop tritt es ja häufiger auf, dass Rechnungen schon sofort bezahlt sind...

Hat jemand von Euch einen Tipp?


LG Andi
 

atanke

Gut bekanntes Mitglied
19. April 2018
130
14
  1. ... ich habe noch mal weiter gesucht:
wenn ich mir die Werte per SQL aus der DB hole erhalten ich folgendes:

Auftrag via JTL- Shop mit Zahlungsart Überweisung und NICHT bezahlt:
  • "fOffenerWert = __" + Str$(JTL_DirectQuery("
    SELECT
    fOffenerWert
    FROM
    Verkauf.tAuftragEckdaten
    WHERE
    kAuftrag = "+Str$(Report.SalesOrderInternalId)+"
    "),0,2) + " __" + "¶"+
    ergibt 0
  • "fZahlung = __" + ToString$(JTL_DirectQuery("
    SELECT
    fZahlung
    FROM
    Verkauf.tAuftragEckdaten
    WHERE
    kAuftrag = "+Str$(Report.SalesOrderInternalId)+"
    ")) + " __" + "¶"+
    ist 0
  • "nZahlungStatus = __" + ToString$(JTL_DirectQuery("
    SELECT
    nZahlungStatus
    FROM
    Verkauf.tAuftragEckdaten
    WHERE
    kAuftrag = "+Str$(Report.SalesOrderInternalId)+"
    ")) + " __" + "¶"+
    ist 0
  • "__OpenGrossPrice= "+NullSafe(ToString$(Report.OpenGrossPrice), "")+" __"+
    ergibt "TotalGrossPrice = __ "+NullSafe(ToString$(str$(Report.TotalGrossPrice,0,2)), "")+" __ " + "¶"+

Auftrag mit CSV importiert mit Zahlungsart Paypal und schon lange bezahlt:"fOffenerWert = __" + Str$(JTL_DirectQuery("
  • "fOffenerWert = __" + Str$(JTL_DirectQuery("
    SELECT
    fOffenerWert
    FROM
    Verkauf.tAuftragEckdaten
    WHERE
    kAuftrag = "+Str$(Report.SalesOrderInternalId)+"
    "),0,2) + " __" + "¶"+
    ergibt 0
  • "fZahlung = __" + ToString$(JTL_DirectQuery("
    SELECT
    fZahlung
    FROM
    Verkauf.tAuftragEckdaten
    WHERE
    kAuftrag = "+Str$(Report.SalesOrderInternalId)+"
    ")) + " __" + "¶"+
    ergibt den TotalGrossPrice
  • "nZahlungStatus = __" + ToString$(JTL_DirectQuery("
    SELECT
    nZahlungStatus
    FROM
    Verkauf.tAuftragEckdaten
    WHERE
    kAuftrag = "+Str$(Report.SalesOrderInternalId)+"
    ")) + " __" + "¶"+
    ist 2
  • "__OpenGrossPrice= "+NullSafe(ToString$(Report.OpenGrossPrice), "")+" __"+
    ergibt "TotalGrossPrice = __ "+NullSafe(ToString$(str$(Report.TotalGrossPrice,0,2)), "")+" __ " + "¶"+


Was verstehe ich hier falsch?
 

atanke

Gut bekanntes Mitglied
19. April 2018
130
14
Also ich glaube ich habe nun das Problem gefunden.
Bei einer Entwurfsrechnung ist der OpenGrossPrice noch der volle Auftragsbetrag, egal ob schon bezahlt oder nicht, erst wenn die Rechnung festgeschrieben wird, übernimmt das System die schon geleisteten Zahlungen.
Ich habe wohl noch Verständnisprobleme mit dem was JTL unter einer Rechnung versteht, nämlich dass es Unterschiede zwischen dem Dokument gibt, das ausgegeben wird und dem Objekt in der Datenbank.
Ich hätte da eher erwartet, dass in der Entwurfsrechnung schon alle Werte aus der echten Rechnung drin sind, und beim festschreiben auch die Ausgabe nicht mehr verändert werden kann...