From 83fb88b589117b11041f8508cee54d070c93e756 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Mon, 10 Jun 2013 20:47:09 +0200 Subject: [PATCH] Fixed bug in voiding GRN/Purchase resulting in invalid average unit cost. --- includes/db/inventory_db.inc | 10 +++++----- purchasing/includes/db/grn_db.inc | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/includes/db/inventory_db.inc b/includes/db/inventory_db.inc index fa465ba7..aca54475 100644 --- a/includes/db/inventory_db.inc +++ b/includes/db/inventory_db.inc @@ -392,13 +392,13 @@ function void_stock_move($type, $type_no) // The cost has to be adjusted. // Transaction rates are stored either as price or standard_cost depending on types $types = array(ST_SUPPCREDIT, ST_SUPPRECEIVE); - if (in_array($type,$types)) - $trans_rate = $row["price"]; + if (in_array($type, $types)) + $unit_cost = $row["price"]; else - $trans_rate = $row["standard_cost"]; + $unit_cost = $row["standard_cost"]; - update_average_material_cost(0, $row["stock_id"], - $trans_rate, -$row["qty"], sql2date($row["tran_date"])); + update_average_material_cost($row["person_id"], $row["stock_id"], + $unit_cost, -$row["qty"], sql2date($row["tran_date"])); } } diff --git a/purchasing/includes/db/grn_db.inc b/purchasing/includes/db/grn_db.inc index 6c684cff..f5bbf4ac 100644 --- a/purchasing/includes/db/grn_db.inc +++ b/purchasing/includes/db/grn_db.inc @@ -75,14 +75,14 @@ function update_average_material_cost($supplier, $stock_id, $price, $qty, $date, $qoh = 0; } if ($qoh + $qty > 0) - $material_cost -= ($qoh * $material_cost + $qty * $price_in_home_currency) / ($qoh + $qty); - } - + $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / ($qoh + $qty); + } + if ($cost_adjust) // new 2010-02-10 //Chaitanya : Material_cost replaced with price adjust_deliveries($stock_id, $price_in_home_currency_, $date); $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost)." WHERE stock_id=".db_escape($stock_id); + db_query($sql,"The cost details for the inventory item could not be updated"); return $material_cost; } -- 2.30.2