X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fincludes%2Fdb%2Fgrn_db.inc;h=5d91b697a93b9900764b1359b291ab94d3e09cd1;hb=0b82ceedadaaa134ca4bfa3063ae772b5b1dbb49;hp=b055c1f94eb8b14a955b9f8afa302d9eaf04303a;hpb=be1b322fa59f83bb8073ddd815b57ec697c47a45;p=fa-stable.git diff --git a/purchasing/includes/db/grn_db.inc b/purchasing/includes/db/grn_db.inc index b055c1f9..5d91b697 100644 --- a/purchasing/includes/db/grn_db.inc +++ b/purchasing/includes/db/grn_db.inc @@ -18,12 +18,12 @@ function update_average_material_cost($supplier, $stock_id, $price, $qty, $date, else $currency = null; $dec = user_price_dec(); - $price = price_decimal_format($price, $dec); + price_decimal_format($price, $dec); + $price = round2($price, $dec); if ($currency != null) { - $ex_rate = get_exchange_rate_to_home_currency($currency, $date_); + $ex_rate = get_exchange_rate_to_home_currency($currency, $date); $price_in_home_currency = $price / $ex_rate; - //$price_in_home_currency = to_home_currency($price, $currency, $date); } else $price_in_home_currency = $price; @@ -37,24 +37,27 @@ function update_average_material_cost($supplier, $stock_id, $price, $qty, $date, $exclude = ST_CUSTDELIVERY; else $exclude = 0; + $cost_adjust = false; $qoh = get_qoh_on_date($stock_id, null, $date, $exclude); if ($adj_only) { - if ($qoh <= 0) - $material_cost = 0; - else + if ($qoh > 0) $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / $qoh; } - elseif ($qoh + $qty <= 0) - $material_cost = 0; else { if ($qoh < 0) + { + if ($qoh + $qty > 0) + $cost_adjust = true; $qoh = 0; - $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / ($qoh + $qty); + } + if ($qoh + $qty != 0) + $material_cost = ($qoh * $material_cost + $qty * $price_in_home_currency) / ($qoh + $qty); } $material_cost = round2($material_cost, $dec); - + if ($cost_adjust) // new 2010-02-10 + adjust_deliveries($stock_id, $material_cost, $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");