]> wagnertech.de Git - kivitendo-erp.git/commitdiff
GuV/BWA Splitfaktor richtig coalescen.
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 15 Feb 2012 15:17:36 +0000 (16:17 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 15 Feb 2012 15:17:36 +0000 (16:17 +0100)
Nach Bug 1190 werden IST Versteuerte Zahlungseingänge auf die komplette
Rechnung verteilt.  Bei Hauptbuch buchungen gibt es keine Rechnung dazu und
diese buchungen fielen unter den Tisch, oder (schlimmer) erzeugen einen
Division by Zero Fehler.

Commit d934ce3611 hat ein COALESCE eingeführt um die by-Zero Fehler abzufangen,
aber der Nenner 1 führt zu utopischen Rechnungswerten.

Dieser Patch behebt das.

SL/RP.pm

index 82102f66e11da0f3e7e868ed9564e571feec1363..bbfb098666dbf7fd7b37dd27a076cac961862048 100644 (file)
--- a/SL/RP.pm
+++ b/SL/RP.pm
@@ -516,12 +516,12 @@ sub get_accounts_g {
   if ($form->{method} eq 'cash') {
     $query =
       qq|
-       SELECT SUM( ac.amount *
+       SELECT SUM( ac.amount * CASE WHEN COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ), 0) != 0 THEN
                     (SELECT SUM(acc.amount) * -1
                      FROM acc_trans acc
                      INNER JOIN chart c ON (acc.chart_id = c.id AND c.link LIKE '%AR_paid%')
                      WHERE 1=1 $inwhere AND acc.trans_id = ac.trans_id)
-                  / COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ), 1)
+                  / (SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ) ELSE 1 END
                 ) AS amount, c.$category
        FROM acc_trans ac
        LEFT JOIN chart c ON (c.id  = ac.chart_id)