Teil-Fix für Bug 1673 : Drucken geht wieder ...
[kivitendo-erp.git] / SL / AR.pm
index 1754fe6..ef42e69 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -156,11 +156,12 @@ sub post_transaction {
            invnumber = ?, ordnumber = ?, transdate = ?, customer_id = ?,
            taxincluded = ?, amount = ?, duedate = ?, paid = ?,
            netamount = ?, curr = ?, notes = ?, department_id = ?,
-           employee_id = ?, storno = ?, storno_id = ?
+           employee_id = ?, storno = ?, storno_id = ?, globalproject_id = ?
          WHERE id = ?|;
     my @values = ($form->{invnumber}, $form->{ordnumber}, conv_date($form->{transdate}), conv_i($form->{customer_id}), $form->{taxincluded} ? 't' : 'f', $form->{amount},
                   conv_date($form->{duedate}), $form->{paid}, $form->{netamount}, $form->{currency}, $form->{notes}, conv_i($form->{department_id}),
-                  conv_i($form->{employee_id}), $form->{storno} ? 't' : 'f', $form->{storno_id}, conv_i($form->{id}));
+                  conv_i($form->{employee_id}), $form->{storno} ? 't' : 'f', $form->{storno_id},
+                  conv_i($form->{globalproject_id}), conv_i($form->{id}));
     do_query($form, $dbh, $query, @values);
 
     # add individual transactions for AR, amount and taxes
@@ -417,7 +418,7 @@ sub ar_transactions {
     qq|  a.marge_total, a.marge_percent, | .
     qq|  a.transaction_description, | .
     qq|  pr.projectnumber AS globalprojectnumber, | .
-    qq|  c.name, c.customernumber, c.country, c.ustid, | .
+    qq|  c.name, c.customernumber, c.country, c.ustid, b.description as customertype, | .
     qq|  e.name AS employee, | .
     qq|  e2.name AS salesman, | .
     qq|  tz.description AS taxzone, | .
@@ -436,6 +437,7 @@ sub ar_transactions {
     qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id)| .
     qq|LEFT JOIN tax_zones tz ON (tz.id = c.taxzone_id)| .
     qq|LEFT JOIN payment_terms pt ON (pt.id = c.payment_id)| .
+    qq|LEFT JOIN business b ON (b.id = c.business_id)| .
     qq|LEFT JOIN department d ON (d.id = a.department_id)|;
 
   my $where = "1 = 1";
@@ -471,8 +473,12 @@ sub ar_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}) {