Update material cost when quantity on hand is zero. @notrinos.
[fa-stable.git] / manufacturing / includes / db / work_order_costing_db.inc
index a6d21a46340c1560ee75908210b6a99cba92d0a4..7671e7ba35ca910244d6d1403dc5f89c28f10b85 100644 (file)
@@ -103,8 +103,12 @@ function update_material_cost($stock_id, $qty, $unit_cost, $date)
                write_journal_entries($cart);
        }
 
-       if ($qty > 0 && ($qoh != -$qty))
-               $avg_cost = ($avg_cost*($qoh+$qty_delayed)+$unit_cost*$qty_new)/($qoh+$qty);
+       if ($qty > 0 && ($qoh != -$qty)) {
+               if ($qoh == 0 && $avg_cost != 0)
+               $avg_cost = ($avg_cost + ($unit_cost*$qty_new)/($qoh+$qty))/2;
+       else
+               $avg_cost = ($avg_cost*($qoh+$qty_delayed)+$unit_cost*$qty_new)/($qoh+$qty);
+       }
 
        $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($avg_cost)."
                    WHERE stock_id=".db_escape($stock_id);
@@ -163,6 +167,7 @@ function work_order_production_gl($woid, $stock_id, $quantity, $date_, $rcv_no)
 {
        global $SysPrefs, $path_to_root;
 
+       $memo = "";
        if ($SysPrefs->loc_notification() == 1)
        {
                include_once($path_to_root . "/sales/includes/cart_class.inc");