From: Joe Hunt Date: Sat, 12 Mar 2011 00:26:25 +0000 (+0100) Subject: Service Items - BOM & Cost Update allowed without side-effects X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=d69e655cbe282e2dbb261e207fcfacc5c3b8b246;p=fa-stable.git Service Items - BOM & Cost Update allowed without side-effects --- diff --git a/inventory/cost_update.php b/inventory/cost_update.php index 03db733e..0d872191 100644 --- a/inventory/cost_update.php +++ b/inventory/cost_update.php @@ -38,8 +38,8 @@ if (isset($_GET['stock_id'])) if (isset($_POST['UpdateData'])) { - $old_cost = $_POST['OldMaterialCost'] + $_POST['OldLabourCost'] - + $_POST['OldOverheadCost']; + $old_cost = input_num('OldMaterialCost') + input_num('OldLabourCost') + + input_num('OldOverheadCost'); $new_cost = input_num('material_cost') + input_num('labour_cost') + input_num('overhead_cost'); @@ -83,20 +83,14 @@ if (!isset($_POST['stock_id'])) $_POST['stock_id'] = get_global_stock_item(); echo "
" . _("Item:"). " "; -echo stock_costable_items_list('stock_id', $_POST['stock_id'], false, true); +//echo stock_costable_items_list('stock_id', $_POST['stock_id'], false, true); +echo stock_items_list('stock_id', $_POST['stock_id'], false, true); echo "

"; set_global_stock_item($_POST['stock_id']); -$sql = "SELECT description, units, material_cost, labour_cost, - overhead_cost, mb_flag - FROM ".TB_PREF."stock_master - WHERE stock_id=".db_escape($_POST['stock_id']) . " - GROUP BY description, units, material_cost, labour_cost, overhead_cost, mb_flag"; -$result = db_query($sql); -check_db_error("The cost details for the item could not be retrieved", $sql); - -$myrow = db_fetch($result); +$myrow = get_item($_POST['stock_id']); + div_start('cost_table'); hidden("OldMaterialCost", $myrow["material_cost"]); hidden("OldLabourCost", $myrow["labour_cost"]); diff --git a/inventory/includes/db/items_trans_db.inc b/inventory/includes/db/items_trans_db.inc index 7292814d..3d364a44 100644 --- a/inventory/includes/db/items_trans_db.inc +++ b/inventory/includes/db/items_trans_db.inc @@ -16,13 +16,22 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co { $mb_flag = get_mb_flag($stock_id); + $update_no = -1; + if (is_service($mb_flag)) { - display_db_error("Cannot do cost update for Service item : $stock_id", ""); + //display_db_error("Cannot do cost update for Service item : $stock_id", ""); + + //Chaitanya + $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"); + + return $update_no; + } - $update_no = -1; - begin_transaction(); $sql = "UPDATE ".TB_PREF."stock_master SET material_cost=".db_escape($material_cost).", @@ -35,25 +44,26 @@ function stock_cost_update($stock_id, $material_cost, $labour_cost, $overhead_co $qoh = get_qoh_on_date($_POST['stock_id']); $date_ = Today(); + if (!is_date_in_fiscalyear($date_)) + $date_ = end_fiscalyear(); + if ($qoh > 0) { - - $update_no = get_next_trans_no(ST_COSTUPDATE); - if (!is_date_in_fiscalyear($date_)) - $date_ = end_fiscalyear(); - - $stock_gl_code = get_stock_gl_code($stock_id); - $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) + { + $stock_gl_code = get_stock_gl_code($stock_id); + $update_no = get_next_trans_no(ST_COSTUPDATE); + $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)); - add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["inventory_account"], 0, 0, $memo_, - $value_of_change); + add_gl_trans_std_cost(ST_COSTUPDATE, $update_no, $date_, $stock_gl_code["inventory_account"], 0, 0, $memo_, + $value_of_change); + } } add_audit_trail(ST_COSTUPDATE, $update_no, $date_); diff --git a/reporting/rep301.php b/reporting/rep301.php index 56398b71..bc8b1085 100644 --- a/reporting/rep301.php +++ b/reporting/rep301.php @@ -44,6 +44,7 @@ function getTransactions($category, $location) ".TB_PREF."stock_moves WHERE ".TB_PREF."stock_master.stock_id=".TB_PREF."stock_moves.stock_id AND ".TB_PREF."stock_master.category_id=".TB_PREF."stock_category.category_id + AND ".TB_PREF."stock_master.mb_flag<>'D' GROUP BY ".TB_PREF."stock_master.category_id, ".TB_PREF."stock_category.description, "; if ($location != 'all')