+//New written function
+function adjust_deliveries($stock_id, $material_cost, $to)
+{
+ if (!is_inventory_item($stock_id))
+ return;
+
+ $from = last_negative_stock_trans_id($stock_id, $to);
+ if ($from == false || $from == "")
+ return;
+
+ $row = get_deliveries_from_trans($stock_id, $from);
+
+ if ($row == false)
+ return;
+ $old_sales_cost = $row[1];
+ $new_sales_cost = $row[0] * $material_cost;
+ $sales_diff = $new_sales_cost - $old_sales_cost;
+
+ $row = get_purchases_from_trans($stock_id, $from);
+ $purchase_diff = 0;
+ $old_purchase_cost = 0;
+ if ($row != false)
+ {
+ $old_purchase_cost = $row[1];
+ $new_purchase_cost = $row[0] * $material_cost;
+ $purchase_diff = $new_purchase_cost - $old_purchase_cost;
+ }
+
+ $diff = $sales_diff - $purchase_diff;
+
+ display_notification('Sales Diff - '.$sales_diff.' Purchase Diff - '.$purchase_diff);
+
+ $sql = "INSERT INTO trace values ('Diff', ".db_escape($diff).", '')";
+ $result = db_query($sql, "The dstock moves could not be retrieved");
+
+ if ($diff != 0)
+ {
+ $update_no = get_next_trans_no(ST_COSTUPDATE);
+ if (!is_date_in_fiscalyear($to))
+ $to = end_fiscalyear();
+
+ $stock_gl_code = get_stock_gl_code($stock_id);
+
+ $dec = user_price_dec();
+ $old_cost = -round2($old_sales_cost-$old_purchase_cost,$dec);
+ $new_cost = -round2($new_sales_cost-$new_purchase_cost,$dec);
+
+ $memo_ = _("Cost was ") . $old_cost. _(" changed to ") . $new_cost . _(" for item ")."'$stock_id'";
+ add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $to, $stock_gl_code["cogs_account"],
+ $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], $memo_, $diff);
+
+ add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $to, $stock_gl_code["inventory_account"], 0, 0, $memo_,
+ -$diff);
+ add_audit_trail(ST_COSTUPDATE, $update_no, $to);
+ }
+}
+