Bugfix: Warengruppe => sql fehler
[kivitendo-erp.git] / SL / CA.pm
index 3df9613..76d2b32 100644 (file)
--- 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);
 
   }