From: G. Richardson Date: Fri, 30 Jan 2015 10:38:15 +0000 (+0100) Subject: FiBu Schnellsuche - transactions für GL Summe benutzen X-Git-Tag: release-3.2.0beta~6^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=9d113c3faeeb38fa9d077c7c37fe41c94e782c14;p=kivitendo-erp.git FiBu Schnellsuche - transactions für GL Summe benutzen Berechnung der GL Summe umgeschrieben. --- diff --git a/SL/Controller/GL.pm b/SL/Controller/GL.pm index a407e80fe..e79f304cb 100644 --- a/SL/Controller/GL.pm +++ b/SL/Controller/GL.pm @@ -8,6 +8,7 @@ use SL::DB::Invoice; use SL::DB::PurchaseInvoice; use SL::DB::AccTransaction; use SL::Locale::String qw(t8); +use List::Util qw(sum); __PACKAGE__->run_before('check_auth'); @@ -38,14 +39,9 @@ sub action_quicksearch { my $ars = SL::DB::Manager::Invoice->get_all( query => [ @arfilter ], limit => $limit, sort_by => 'transdate DESC', with_objects => [ 'customer' ]); my $aps = SL::DB::Manager::PurchaseInvoice->get_all(query => [ @apfilter ], limit => $limit, sort_by => 'transdate DESC', with_objects => [ 'vendor' ]); - # calculate an amount to be displayed for gl transaction + # use the sum of all credit amounts as the "amount" of the gl transaction foreach my $gl ( @$gls ) { - my $amount = 0; - my $acc_trans_lines = SL::DB::Manager::AccTransaction->get_all(query => [ trans_id => $gl->id ]); - foreach my $acc_trans_line ( @$acc_trans_lines ) { - $amount += $acc_trans_line->amount if $acc_trans_line->amount > 0 ; - }; - $gl->{'amount'} = $amount; + $gl->{'amount'} = sum map { $_->amount if $_->amount > 0 } @{$gl->transactions}; }; my $gldata = [