From cabf98787970f81d5b1f2fe094337dd3d17869c5 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Sun, 4 Jan 2015 19:18:40 +0100 Subject: [PATCH] Fixed exchange rate storage in GRN transactions. --- purchasing/includes/db/grn_db.inc | 9 ++++++++- sql/en_US-demo.sql | 3 ++- sql/en_US-new.sql | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/purchasing/includes/db/grn_db.inc b/purchasing/includes/db/grn_db.inc index d927fd64..09090c30 100644 --- a/purchasing/includes/db/grn_db.inc +++ b/purchasing/includes/db/grn_db.inc @@ -99,7 +99,14 @@ function add_grn(&$po) begin_transaction(); hook_db_prewrite($po, ST_SUPPRECEIVE); - add_new_exchange_rate(get_supplier_currency($po->supplier_id), $date_, $po->ex_rate); + if (!is_company_currency($po->curr_code)) + { + if (!$po->ex_rate) + $po->ex_rate = get_date_exchange_rate($po->curr_code, $date_); + else + add_new_exchange_rate($po->curr_code, $date_, $po->ex_rate); + } else + $po->ex_rate = 1; $grn = add_grn_batch($po->order_no, $po->supplier_id, $po->reference, $po->Location, $date_, $po->ex_rate); diff --git a/sql/en_US-demo.sql b/sql/en_US-demo.sql index cfb9f2f1..3943dfde 100644 --- a/sql/en_US-demo.sql +++ b/sql/en_US-demo.sql @@ -952,6 +952,7 @@ CREATE TABLE IF NOT EXISTS `0_grn_batch` ( `reference` varchar(60) NOT NULL default '', `delivery_date` date NOT NULL default '0000-00-00', `loc_code` varchar(5) default NULL, + `rate` double NULL default '1' PRIMARY KEY (`id`), KEY `delivery_date` (`delivery_date`), KEY `purch_order_no` (`purch_order_no`) @@ -961,7 +962,7 @@ CREATE TABLE IF NOT EXISTS `0_grn_batch` ( -- Dumping data for table `0_grn_batch` -- -INSERT INTO `0_grn_batch` VALUES(1, 2, 1, '1', '2014-06-21', 'DEF'); +INSERT INTO `0_grn_batch` VALUES(1, 2, 1, '1', '2014-06-21', 'DEF', '1'); -- -------------------------------------------------------- diff --git a/sql/en_US-new.sql b/sql/en_US-new.sql index 0047971b..1c20185b 100644 --- a/sql/en_US-new.sql +++ b/sql/en_US-new.sql @@ -807,6 +807,7 @@ CREATE TABLE IF NOT EXISTS `0_grn_batch` ( `reference` varchar(60) NOT NULL default '', `delivery_date` date NOT NULL default '0000-00-00', `loc_code` varchar(5) default NULL, + `rate` double NULL default '1', PRIMARY KEY (`id`), KEY `delivery_date` (`delivery_date`), KEY `purch_order_no` (`purch_order_no`) -- 2.30.2