From f7866adf1844e79ada8df88c703b0ec9a39c5657 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Wed, 15 Feb 2012 16:17:36 +0100 Subject: [PATCH] GuV/BWA Splitfaktor richtig coalescen. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SL/RP.pm b/SL/RP.pm index 82102f66e..bbfb09866 100644 --- 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) -- 2.20.1