From 06feaeabf5f8376201cf3aeb6367a4c97e1e2cbd Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Thu, 23 May 2013 22:41:08 +0200 Subject: [PATCH] Sales Delivery, Direct Invoice and Sales Credit: added exchange rate edition/storage on new transaction date. --- sales/includes/cart_class.inc | 3 ++- sales/includes/db/sales_credit_db.inc | 2 ++ sales/includes/db/sales_delivery_db.inc | 3 +++ sales/includes/db/sales_invoice_db.inc | 2 ++ sales/includes/ui/sales_order_ui.inc | 3 +-- sales/sales_order_entry.php | 5 +++-- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/sales/includes/cart_class.inc b/sales/includes/cart_class.inc index 5a3d561d..64a237f3 100644 --- a/sales/includes/cart_class.inc +++ b/sales/includes/cart_class.inc @@ -71,7 +71,8 @@ class cart var $payment; var $payment_terms; // cached payment terms var $credit; - + var $ex_rate; + //------------------------------------------------------------------------- // // $trans_no==0 => open new/direct document diff --git a/sales/includes/db/sales_credit_db.inc b/sales/includes/db/sales_credit_db.inc index 2efb8d87..e7b97e55 100644 --- a/sales/includes/db/sales_credit_db.inc +++ b/sales/includes/db/sales_credit_db.inc @@ -41,6 +41,8 @@ function write_credit_note(&$credit_note, $write_off_acc) $company_data = get_company_prefs(); $branch_data = get_branch_accounts($credit_note->Branch); + add_new_exchange_rate(get_customer_currency($credit_note->customer_id), $credit_date, $credit_note->ex_rate); + $credit_note_total = $credit_note->get_items_total_dispatch(); $freight_tax = $credit_note->get_shipping_tax(); diff --git a/sales/includes/db/sales_delivery_db.inc b/sales/includes/db/sales_delivery_db.inc index f92feca5..90ef315e 100644 --- a/sales/includes/db/sales_delivery_db.inc +++ b/sales/includes/db/sales_delivery_db.inc @@ -24,6 +24,9 @@ function write_sales_delivery(&$delivery,$bo_policy) hook_db_prewrite($delivery, ST_CUSTDELIVERY); $customer = get_customer($delivery->customer_id); + + add_new_exchange_rate($customer['curr_code'], $delivery->document_date, $delivery->ex_rate); + $delivery_items_total = $delivery->get_items_total_dispatch(); $freight_tax = $delivery->get_shipping_tax(); diff --git a/sales/includes/db/sales_invoice_db.inc b/sales/includes/db/sales_invoice_db.inc index a1f6dd5c..cd80b2cf 100644 --- a/sales/includes/db/sales_invoice_db.inc +++ b/sales/includes/db/sales_invoice_db.inc @@ -32,6 +32,8 @@ function write_sales_invoice(&$invoice) $customer = get_customer($invoice->customer_id); + add_new_exchange_rate($customer['curr_code'], $date_, $invoice->ex_rate); + // offer price values without freight costs $items_total = $invoice->get_items_total_dispatch(); $freight_tax = $invoice->get_shipping_tax(); diff --git a/sales/includes/ui/sales_order_ui.inc b/sales/includes/ui/sales_order_ui.inc index 0d2b3d33..f58f677c 100644 --- a/sales/includes/ui/sales_order_ui.inc +++ b/sales/includes/ui/sales_order_ui.inc @@ -372,7 +372,6 @@ function display_order_header(&$order, $editable, $date_text) $row = get_customer_to_order($_POST['customer_id']); if ($row['dissallow_invoices'] == 1) $customer_error = _("The selected customer account is currently on hold. Please contact the credit control personnel to discuss."); - } } @@ -380,7 +379,7 @@ function display_order_header(&$order, $editable, $date_text) table_section(2); - if (!is_company_currency($order->customer_currency)) + if (!is_company_currency($order->customer_currency) && in_array($order->trans_type, array(ST_SALESINVOICE, ST_CUSTDELIVERY))) { label_row(_("Customer Currency:"), $order->customer_currency); exchange_rate_display($order->customer_currency, get_company_currency(), diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index da9b9ce9..a9fb1bf1 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -284,6 +284,7 @@ function copy_to_cart() $cart->dimension_id = $_POST['dimension_id']; $cart->dimension2_id = $_POST['dimension2_id']; } + $cart->ex_rate = input_num('_ex_rate', null); } //----------------------------------------------------------------------------- @@ -314,9 +315,9 @@ function copy_from_cart() if ($cart->trans_type!=ST_SALESORDER && $cart->trans_type!=ST_SALESQUOTE) { // 2008-11-12 Joe Hunt $_POST['dimension_id'] = $cart->dimension_id; $_POST['dimension2_id'] = $cart->dimension2_id; - } + } $_POST['cart_id'] = $cart->cart_id; - + $_POST['_ex_rate'] = $cart->ex_rate; } //-------------------------------------------------------------------------------- -- 2.30.2