Fix [0000106] Error during direct invoice for non-ECB currencies.
[fa-stable.git] / sales / customer_invoice.php
index e795a30f4dc2b3e33f30490dd4ab7f140f0e90b5..fed8094e05337bdd8035ac7f50f1ab9964569b31 100644 (file)
@@ -35,6 +35,7 @@ if (isset($_GET['ModifyInvoice'])) {
 page($_SESSION['page_title'], false, false, "", $js);
 
 //-----------------------------------------------------------------------------
+check_edit_conflicts();
 
 if (isset($_GET['AddedID'])) {
 
@@ -77,12 +78,16 @@ if (isset($_GET['AddedID'])) {
                }
        }
        unset($line);
+
+    // Remove also src_doc delivery note
+    $sources = &$_SESSION['Items']->src_docs;
+    unset($sources[$_GET['RemoveDN']]);
 }
 
 //-----------------------------------------------------------------------------
 
 if ( (isset($_GET['DeliveryNumber']) && ($_GET['DeliveryNumber'] > 0) )
-       || isset($_GET['BatchInvoice'])) {
+|| isset($_GET['BatchInvoice'])) {
 
        processing_start();
 
@@ -145,6 +150,7 @@ if (isset($_POST['_InvoiceDate_changed'])) {
                $_POST['InvoiceDate']);
        $Ajax->activate('due_date');
 }
+
 //-----------------------------------------------------------------------------
 function check_quantities()
 {
@@ -178,6 +184,24 @@ function check_quantities()
  return $ok;
 }
 
+function set_delivery_shipping_sum($delivery_notes) 
+{
+    
+    $shipping = 0;
+    
+    foreach($delivery_notes as $delivery_num) 
+    {
+        $myrow = get_customer_trans($delivery_num, 13);
+        //$branch = get_branch($myrow["branch_code"]);
+        //$sales_order = get_sales_order_header($myrow["order_"]);
+        
+        //$shipping += $sales_order['freight_cost'];
+        $shipping += $myrow['ov_freight'];
+    }
+    $_POST['ChargeFreightCost'] = price_format($shipping);
+}
+
+
 function copy_to_cart()
 {
        $cart = &$_SESSION['Items'];
@@ -197,6 +221,7 @@ function copy_from_cart()
        $_POST['InvoiceDate']= $cart->document_date;
        $_POST['due_date'] = $cart->due_date;
        $_POST['Comments']= $cart->Comments;
+       $_POST['cart_id'] = $cart->cart_id;
 }
 
 //-----------------------------------------------------------------------------
@@ -297,8 +322,10 @@ $dspans[] = $spanlen;
 //-----------------------------------------------------------------------------
 
 $is_batch_invoice = count($_SESSION['Items']->src_docs) > 1;
+
 $is_edition = $_SESSION['Items']->trans_type == 10 && $_SESSION['Items']->trans_no != 0;
 start_form(false, true);
+hidden('cart_id');
 
 start_table("$table_style2 width=80%", 5);
 
@@ -430,6 +457,10 @@ if (!isset($_POST['ChargeFreightCost']) || $_POST['ChargeFreightCost'] == "") {
        }
 }
 
+$accumulate_shipping = get_company_pref('accumulate_shipping');
+if ($is_batch_invoice && $accumulate_shipping)
+       set_delivery_shipping_sum(array_keys($_SESSION['Items']->src_docs));
+
 start_row();
 
 small_amount_cells(_("Shipping Cost"), 'ChargeFreightCost', null, "colspan=9 align=right");