From: Joe Hunt Date: Sat, 20 Jun 2009 07:28:11 +0000 (+0000) Subject: [0000137] Material Cost Averaging Problem when voiding Supp Inv and qoh reaches 0. X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=59895a26b0d95b25bdc302367a9c6429e3e0b463;p=textcart.git [0000137] Material Cost Averaging Problem when voiding Supp Inv and qoh reaches 0. --- diff --git a/CHANGELOG.txt b/CHANGELOG.txt index b4644fd..b5f8bd3 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,10 @@ Legend: ! -> Note $ -> Affected files +20-Jun-2009 Joe Hunt/Tu Nguyen +# [0000137] Material Cost Averaging Problem when voiding Supp Inv and qoh reaches 0. +$ /purchasing/includes/db/grn_db.inc + 18-Jun-2009 Joe Hunt ! Better support for conversion_factor in Purchasing Pricing. Instruction on Sticky Inventory Forum. $ /inventory/purchasing_data.php diff --git a/purchasing/includes/db/grn_db.inc b/purchasing/includes/db/grn_db.inc index 9b56b0f..23ca2e2 100644 --- a/purchasing/includes/db/grn_db.inc +++ b/purchasing/includes/db/grn_db.inc @@ -31,20 +31,18 @@ function update_average_material_cost($supplier, $stock_id, $price, $qty, $date, $exclude = 0; $qoh = get_qoh_on_date($stock_id, null, $date, $exclude); - if ($qoh + $qty <= 0) - $material_cost = 0; - else + if ($adj_only) { - if ($adj_only) - { - if ($qoh <= 0) - $material_cost = 0; - else - $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / $qoh; - } + if ($qoh <= 0) + $material_cost = 0; else - $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / ($qoh + $qty); + $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / $qoh; } + elseif ($qoh + $qty <= 0) + $material_cost = 0; + else + $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / ($qoh + $qty); + $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost)." WHERE stock_id='$stock_id'"; db_query($sql,"The cost details for the inventory item could not be updated");