use SL::DBUtils;
use Data::Dumper;
use List::Util qw(sum);
-use strict;
-use warnings;
+# use strict;
+# use warnings;
# new implementation of balance sheet
$project
GROUP BY c.accno, c.category, c.description |;
- $sth = prepare_execute_query($form, $dbh, $query, $form->{fromtdate});
+ $sth = prepare_execute_query($form, $dbh, $query, $form->{fromdate});
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
if ($ref->{amount} != 0 || $form->{all_accounts}) {
$trb{ $ref->{accno} }{description} = $ref->{description};
$trb{ $ref->{accno} }{charttype} = 'A';
+ $trb{ $ref->{accno} }{beginning_balance} = $ref->{amount};
if ($ref->{amount} > 0) {
$trb{ $ref->{accno} }{haben_eb} = $ref->{amount};
WHERE $saldowhere
$dpt_where
$project
- AND c.accno = ?) AS saldo,
+ AND c.accno = ? AND (NOT ac.ob_transaction OR ac.ob_transaction IS NULL)) AS saldo,
(SELECT SUM(ac.amount)
FROM acc_trans ac
WHERE $saldowhere
$dpt_where
$project
- AND c.accno = ?) AS saldo,
+ AND c.accno = ? AND (NOT ac.ob_transaction OR ac.ob_transaction IS NULL)) AS saldo,
(SELECT SUM(ac.amount)
FROM acc_trans ac
$ref->{accno} = $accno;
map { $ref->{$_} = $trb{$accno}{$_} }
- qw(description category charttype amount soll_eb haben_eb);
+ qw(description category charttype amount soll_eb haben_eb beginning_balance);
$ref->{balance} = $form->round_amount($balance{ $ref->{accno} }, 2);
$ref->{debit} = $form->round_amount($ref->{debit}, 2);
$ref->{credit} = $form->round_amount($ref->{credit}, 2);
- $ref->{haben_saldo} = $form->round_amount($ref->{haben_saldo}, 2);
+
+ if ($ref->{haben_saldo} != 0) {
+ $ref->{haben_saldo} = $ref->{haben_saldo} + $ref->{beginning_balance};
+ if ($ref->{haben_saldo} < 0) {
+ $ref->{soll_saldo} = $form->round_amount(($ref->{haben_saldo} *- 1), 2);
+ $ref->{haben_saldo} = 0;
+ }
+ } elsif ($ref->{soll_saldo} != 0) {
+ $ref->{soll_saldo} = $ref->{soll_saldo} - $ref->{beginning_balance};
+ if ($ref->{soll_saldo} < 0) {
+ $ref->{haben_saldo} = $form->round_amount(($ref->{haben_saldo} * -1), 2);
+ $ref->{soll_saldo} = 0;
+ }
+ }
+ $ref->{haben_saldo} = $form->round_amount($ref->{haben_saldo}, 2);
$ref->{soll_saldo} = $form->round_amount($ref->{soll_saldo}, 2);
$ref->{haben_kumuliert} = $form->round_amount($ref->{haben_kumuliert}, 2);
$ref->{soll_kumuliert} = $form->round_amount($ref->{soll_kumuliert}, 2);
}
my @periods = qw(jetzt kumm);
- my @gesamtleistung = qw(1 2 3);
+ my @gesamtleistung = qw(1 3);
my @gesamtkosten = qw (10 11 12 13 14 15 16 17 18 19 20);
my @ergebnisse =
qw (rohertrag betriebrohertrag betriebsergebnis neutraleraufwand neutralerertrag ergebnisvorsteuern ergebnis gesamtleistung gesamtkosten);
foreach my $item (@gesamtleistung) {
$form->{ "$key" . "gesamtleistung" } += $form->{$item}{$key};
}
+ $form->{ "$key" . "gesamtleistung" } -= $form->{2}{$key};
+
foreach my $item (@gesamtkosten) {
$form->{ "$key" . "gesamtkosten" } += $form->{$item}{$key};
}