Suchen auch nach positionsbezogenen Projektnummern für Debitoren- und Kreditorenbuchu...
[kivitendo-erp.git] / SL / AP.pm
index e4ff230..33d09f1 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -422,9 +422,12 @@ sub ap_transactions {
     push(@values, $form->like($form->{vendor}));
   }
   if ($form->{department}) {
-    my ($null, $department_id) = split /--/, $form->{department};
+    # ähnlich wie commit 0bbfb33b6aa8e38bb6c81d1684ab7d08e5b5c5af abteilung
+    # wird so nicht mehr als zeichenkette zusammengebaut
+    # hätte zu ee9f9f9aa4c3b9d5d20ab10a45c12bcaa6aa78d0 auffallen können ;-) jan
+    #my ($null, $department_id) = split /--/, $form->{department};
     $where .= " AND a.department_id = ?";
-    push(@values, $department_id);
+    push(@values, $form->{department});
   }
   if ($form->{invnumber}) {
     $where .= " AND a.invnumber ILIKE ?";
@@ -442,8 +445,12 @@ sub ap_transactions {
     $where .=
       qq|AND ((a.globalproject_id = ?) OR EXISTS | .
       qq|  (SELECT * FROM invoice i | .
-      qq|   WHERE i.project_id = ? AND i.trans_id = a.id))|;
-    push(@values, $form->{project_id}, $form->{project_id});
+      qq|   WHERE i.project_id = ? AND i.trans_id = a.id) | .
+      qq| OR EXISTS | .
+      qq|  (SELECT * FROM acc_trans at | .
+      qq|   WHERE at.project_id = ? AND at.trans_id = a.id)| .
+      qq|  )|;
+    push(@values, $form->{project_id}, $form->{project_id}, $form->{project_id});
   }
 
   if ($form->{transdatefrom}) {