[0005190] Supplier Invoices: customer reference field was unnecessary cleared on...
[fa-stable.git] / purchasing / includes / db / invoice_db.inc
index 0a7f360b647af2638404c59b4d0347aded6f0de5..5085b57daf86470c669e672f9f41d6566bdf7c9a 100644 (file)
@@ -39,10 +39,7 @@ function read_supplier_details_to_trans(&$supp_trans, $supplier_id)
                if (!is_date_in_fiscalyear($supp_trans->tran_date))
                        $supp_trans->tran_date = end_fiscalyear();
        }
-       if ($supp_trans->supplier_id != $supplier_id)
-           get_duedate_from_terms($supp_trans);
 
-    $supp_trans->supplier_id = $supplier_id;
     $supp_trans->tax_included = $myrow['tax_included'];
     $supp_trans->supplier_name = $myrow['supp_name'];
        $supp_trans->terms = array( 
@@ -50,6 +47,11 @@ function read_supplier_details_to_trans(&$supp_trans, $supplier_id)
                'days_before_due' => $myrow['days_before_due'], 
                'day_in_following_month' => $myrow['day_in_following_month'] );
 
+       if ($supp_trans->supplier_id != $supplier_id)
+           get_duedate_from_terms($supp_trans);
+
+    $supp_trans->supplier_id = $supplier_id;
+
        $supp_trans->credit = $myrow['cur_credit'];
 
        $supp_trans->tax_description = $myrow['tax_group_name'];
@@ -131,6 +133,10 @@ function add_supp_invoice(&$supp_trans)
        $trans_no = $supp_trans->trans_no;
        $trans_type = $supp_trans->trans_type;
        $supplier = get_supplier($supp_trans->supplier_id);
+    $dim = !empty($supp_trans->dimension) ? $supp_trans->dimension :
+        ($supplier['dimension_id'] ? $supplier['dimension_id'] : 0);
+    $dim2 = !empty($supp_trans->dimension2) ? $supp_trans->dimension2 :
+        ($supplier['dimension2_id'] ? $supplier['dimension2_id'] : 0);
 
        begin_transaction();
        hook_db_prewrite($supp_trans, $trans_type);
@@ -209,7 +215,7 @@ function add_supp_invoice(&$supp_trans)
                                if ($trans_type == ST_SUPPCREDIT)
                                        $taxitem['Value'] = -$taxitem['Value'];
                                $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_,
-                                       $taxitem['purchasing_gl_code'], 0, 0, $taxitem['Value'],
+                                       $taxitem['purchasing_gl_code'], $dim, $dim2, $taxitem['Value'],
                                        $supp_trans->supplier_id,
                                        "A general ledger transaction for the tax amount could not be added");
                        }
@@ -219,7 +225,7 @@ function add_supp_invoice(&$supp_trans)
                $net_diff = -$net_diff;
 
     /* Now the AP account */
-    $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $supplier["payable_account"], 0, 0,
+    $total += add_gl_trans_supplier($trans_type, $invoice_id, $date_, $supplier["payable_account"], $dim, $dim2,
                -($invoice_items_total +  $item_added_tax + $supp_trans->ov_discount),
                $supp_trans->supplier_id,
                "The general ledger transaction for the control total could not be added");