X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/4a6f0b74c08f02cd04adfe2429eb9965e770c2ba..0daf163:/SL/RP.pm?ds=inline diff --git a/SL/RP.pm b/SL/RP.pm index 0ea40ec02..d448ba74e 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" } = @@ -1825,89 +1829,6 @@ sub bwa { $main::lxdebug->leave_sub(); } -sub ustva { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - # connect to database - my $dbh = $form->dbconnect($myconfig); - - my $last_period = 0; - my @categories_cent = qw(51r 511 86r 861 97r 971 93r 931 - 96 66 43 45 53 62 65 67); - my @categories_euro = qw(48 51 86 91 97 93 94); - $form->{decimalplaces} *= 1; - - foreach my $item (@categories_cent) { - $form->{"$item"} = 0; - } - foreach my $item (@categories_euro) { - $form->{"$item"} = 0; - } - - &get_accounts_g($dbh, $last_period, $form->{fromdate}, $form->{todate}, $form, "pos_ustva"); - - # foreach $item (@categories_cent) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } - # } - # foreach $item (@categories_euro) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } foreach $item (@categories_cent) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } - # } - # foreach $item (@categories_euro) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } - # } - # - # } - - # - # Berechnung der USTVA Formularfelder - # - $form->{"51r"} = $form->{"511"}; - $form->{"86r"} = $form->{"861"}; - $form->{"97r"} = $form->{"971"}; - $form->{"93r"} = $form->{"931"}; - - #$form->{"96"} = $form->{"94"} * 0.16; - $form->{"43"} = - $form->{"51r"} + $form->{"86r"} + $form->{"97r"} + $form->{"93r"} + - $form->{"96"}; - $form->{"45"} = $form->{"43"}; - $form->{"53"} = $form->{"43"}; - $form->{"62"} = $form->{"43"} - $form->{"66"}; - $form->{"65"} = $form->{"43"} - $form->{"66"}; - $form->{"67"} = $form->{"43"} - $form->{"66"}; - - foreach my $item (@categories_cent) { - $form->{$item} = - $form->format_amount($myconfig, $form->round_amount($form->{$item}, 2), - 2, '0'); - } - - foreach my $item (@categories_euro) { - $form->{$item} = - $form->format_amount($myconfig, $form->round_amount($form->{$item}, 0), - 0, '0'); - } - - $dbh->disconnect; - - $main::lxdebug->leave_sub(); -} - sub income_statement { $main::lxdebug->enter_sub();