X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FRP.pm;h=4bb82f2b2a368ec89201dc2eceff60b8f6a0e836;hb=b632cee8434442efd8ae3962126c34123172daac;hp=0ea40ec02340da7873f07bff908c372fab46929d;hpb=4a6f0b74c08f02cd04adfe2429eb9965e770c2ba;p=kivitendo-erp.git diff --git a/SL/RP.pm b/SL/RP.pm index 0ea40ec02..4bb82f2b2 100644 --- a/SL/RP.pm +++ b/SL/RP.pm @@ -516,12 +516,16 @@ sub get_accounts_g { if ($form->{method} eq 'cash') { $query = qq| - SELECT SUM( ac.amount * CASE WHEN COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ), 0) != 0 THEN + SELECT SUM( ac.amount * CASE WHEN COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id), 0) != 0 THEN + /* ar amount is not zero, so we can divide by amount */ (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) - / (SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ) ELSE 1 END + / (SELECT amount FROM ar WHERE id = ac.trans_id) + ELSE 0 + /* ar amount is zero, or we are checking with a non-ar-transaction, so we return 0 in both cases as multiplicator of ac.amount */ + END ) AS amount, c.$category FROM acc_trans ac LEFT JOIN chart c ON (c.id = ac.chart_id) @@ -1649,7 +1653,7 @@ sub bwa { my @periods = qw(jetzt kumm); my @gesamtleistung = qw(1 3); - my @gesamtkosten = qw (10 11 12 13 14 15 16 17 18 19 20); + my @gesamtkosten = qw (10 11 12 13 14 15 16 17 18 20); my @ergebnisse = qw (rohertrag betriebrohertrag betriebsergebnis neutraleraufwand neutralerertrag ergebnisvorsteuern ergebnis gesamtleistung gesamtkosten); @@ -1684,7 +1688,7 @@ sub bwa { $form->{ "$key" . "betriebrohertrag" } - $form->{ "$key" . "gesamtkosten" }; $form->{ "$key" . "neutraleraufwand" } = - $form->{30}{$key} + $form->{31}{$key}; + $form->{19}{$key} + $form->{30}{$key} + $form->{31}{$key}; $form->{ "$key" . "neutralerertrag" } = $form->{32}{$key} + $form->{33}{$key} + $form->{34}{$key}; $form->{ "$key" . "ergebnisvorsteuern" } =