X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FCA.pm;h=76d2b320a5580cb202d3f9beb4be9ee2a27d411a;hb=9198a41442e997dc37eb80d3a30eab7136d58208;hp=3df961307335598e56940ecd859d08b297797428;hpb=2819d504f3081d3a5ce9821ba8d85fab36d65af5;p=kivitendo-erp.git diff --git a/SL/CA.pm b/SL/CA.pm index 3df961307..76d2b320a 100644 --- a/SL/CA.pm +++ b/SL/CA.pm @@ -266,8 +266,9 @@ sub all_transactions { $dpt_join . qq|WHERE | . $where . $dpt_where . $project . qq| AND ac.chart_id = ? | . + qq| AND ac.trans_id = a.id | . - qq|UNION | . + qq|UNION ALL | . qq|SELECT a.id, a.invnumber, c.name, ac.transdate, | . qq| a.invoice, ac.amount, 'ar' as module | . @@ -276,9 +277,10 @@ sub all_transactions { qq|WHERE | . $where . $dpt_where . $project . qq| AND ac.chart_id = ? | . qq| AND NOT a.storno | . + qq| AND ac.trans_id = a.id | . qq| AND a.customer_id = c.id | . - qq|UNION | . + qq|UNION ALL | . qq|SELECT a.id, a.invnumber, v.name, ac.transdate, | . qq| a.invoice, ac.amount, 'ap' as module | . @@ -286,6 +288,7 @@ sub all_transactions { $dpt_join . qq|WHERE | . $where . $dpt_where . $project . qq| AND ac.chart_id = ? | . + qq| AND ac.trans_id = a.id | . qq| AND NOT a.storno | . qq| AND a.vendor_id = v.id |; @@ -344,7 +347,9 @@ sub all_transactions { $union = qq|UNION ALL|; } - $query .= qq|ORDER BY | . $form->{sort}; + my $sort = grep({ $form->{sort} eq $_ } qw(transdate reference description)) ? $form->{sort} : 'transdate'; + + $query .= qq|ORDER BY $sort|; $sth = prepare_execute_query($form, $dbh, $query, @values); $form->{CA} = []; @@ -367,6 +372,8 @@ sub all_transactions { $ca->{debit} = 0; } + $ca->{index} = join "--", map { $ca->{$_} } qw(id reference description); + push(@{ $form->{CA} }, $ca); }