Merged changes form stabel branch up to the current state (2.3.22+).
[fa-stable.git] / inventory / includes / db / items_trans_db.inc
index a7591dd3d30f66ebc4a7b4bd3857f1cc3319dfda..cf72ee342f727b48b2b87f7f74a8a6c8f8b9457f 100644 (file)
@@ -51,6 +51,12 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co
        {
                $new_cost = $material_cost + $labour_cost + $overhead_cost;
 
+               $value_of_change = $qoh * ($new_cost - $last_cost);
+
+               $memo_ = "Cost was " . $last_cost . " changed to " . $new_cost . " x quantity on hand of $qoh";
+               add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["adjustment_account"], 
+                       $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], $memo_, (-$value_of_change));     
+
                $value_of_change = round2($qoh * ($new_cost - $last_cost), user_price_dec());
 
                if ($value_of_change != 0)
@@ -64,7 +70,9 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co
 
                        add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["inventory_account"], 0, 0, $memo_, 
                                $value_of_change);
-               }               
+
+                       change_stock_moves_std_cost($stock_id, $date_, $new_cost - $last_cost); 
+               }
        }
 
        if ($update_no != -1)
@@ -76,4 +84,11 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co
 
 //-------------------------------------------------------------------------------------------------------------
 
+function change_stock_moves_std_cost($stock_id, $date, $diff_cost)
+{
+       $date = date2sql($date);
+       $sql = "UPDATE ".TB_PREF."stock_moves SET standard_cost = standard_cost + ".db_escape($diff_cost). " WHERE stock_id = "
+       .       db_escape($stock_id)." AND tran_date <= '$date' AND qty <> 0 AND standard_cost > 0.001 AND type <> ".ST_LOCTRANSFER;
+       db_query($sql,"The stock moves cost details for the inventory item could not be updated");
+}
 ?>
\ No newline at end of file