{
global $SysPrefs, $path_to_root, $Refs;
- begin_transaction();
+ begin_transaction(__FUNCTION__, func_get_args());
$args = func_get_args();
$args = (object)array_combine(array('items', 'location', 'date_', 'reference', 'memo_'), $args);
$args->trans_no = 0;
foreach ($items as $line_item)
{
- if ($SysPrefs->loc_notification() == 1 && $line_item->qty < 0)
+ if ($SysPrefs->loc_notification() == 1 && $line_item->quantity < 0)
{
- $chg = $line; $chg->qty = -$chg->qty; // calculate_reorder_level expect positive qty
- $loc = calculate_reorder_level($location, $line_item, $st_ids, $st_names, $st_num, $st_reorder);
+ $chg = $line_item; $chg->quantity= -$chg->quantity; // calculate_reorder_level expect positive qty
+ $loc = calculate_reorder_level($location, $chg, $st_ids, $st_names, $st_num, $st_reorder);
}
add_stock_adjustment_item($adj_id, $line_item->stock_id, $location, $date_, $reference,
- $line_item->quantity, $line_item->standard_cost, $memo_);
+ $line_item->quantity, $line_item->unit_cost, $memo_);
}
add_comments(ST_INVADJUST, $adj_id, $date_, $memo_);
function void_stock_adjustment($type_no)
{
+ begin_transaction(__FUNCTION__, func_get_args());
hook_db_prevoid(ST_INVADJUST, $type_no);
void_gl_trans(ST_INVADJUST, $type_no);
void_stock_move(ST_INVADJUST, $type_no);
+ commit_transaction();
}
//-------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
function add_stock_adjustment_item($adj_id, $stock_id, $location, $date_, $reference,
- $quantity, $standard_cost, $memo_)
+ $quantity, $unit_cost, $memo_)
{
- $mb_flag = get_mb_flag($stock_id);
+ $mb_flag = get_mb_flag($stock_id);
+
if (is_service($mb_flag))
{
- display_db_error("Cannot do inventory adjustment for Service item : $stock_id", "");
+ display_db_error("Cannot do inventory adjustment for Service item : $stock_id", "");
}
-
- $new_cost = update_average_material_cost(null, $stock_id, $standard_cost, $quantity, $date_);
-
+
+ update_average_material_cost(null, $stock_id, $unit_cost, $quantity, $date_);
+
if (is_fixed_asset($mb_flag)) {
- $sql = "UPDATE ".TB_PREF."stock_master SET inactive=1
- WHERE stock_id=".db_escape($stock_id);
- db_query($sql,"The inactive flag for the fixed asset could not be updated");
- }
+ $sql = "UPDATE ".TB_PREF."stock_master SET inactive=1
+ WHERE stock_id=".db_escape($stock_id);
+ db_query($sql,"The inactive flag for the fixed asset could not be updated");
+ }
+
+ add_stock_move(ST_INVADJUST, $stock_id, $adj_id, $location,
+ $date_, $reference, $quantity, $unit_cost);
+
+ $inv_value = $unit_cost * $quantity;
+ $adj_value = $unit_cost * -($quantity);
- add_stock_move(ST_INVADJUST, $stock_id, $adj_id, $location,
- $date_, $reference, $quantity, $new_cost, $standard_cost);
-
- $inv_value = $standard_cost * $quantity;
- $adj_value = $standard_cost * -($quantity);
-
if (is_fixed_asset($mb_flag)) {
- // get the initial value of the fixed assset.
- $row = get_fixed_asset_move($stock_id, ST_SUPPRECEIVE);
- $inv_value = $row['price'] * $quantity;
- $adj_value = (-($row['price']) + $standard_cost) * $quantity;
- }
- if ($standard_cost > 0 || is_fixed_asset($mb_flag))
- {
- $stock_gl_codes = get_stock_gl_code($stock_id);
- add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_,
- $stock_gl_codes['adjustment_account'], $stock_gl_codes['dimension_id'], $stock_gl_codes['dimension2_id'], $memo_, $adj_value );
- add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, $inv_value);
- }
-
+ // get the initial value of the fixed assset.
+ $row = get_fixed_asset_move($stock_id, ST_SUPPRECEIVE);
+ $inv_value = $row['price'] * $quantity;
+ $adj_value = (-($row['price']) + $unit_cost) * $quantity;
+ }
+
+ if ($unit_cost > 0 || is_fixed_asset($mb_flag))
+ {
+
+ $stock_gl_codes = get_stock_gl_code($stock_id);
+
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_,
+ $stock_gl_codes['adjustment_account'], $stock_gl_codes['dimension_id'], $stock_gl_codes['dimension2_id'], $memo_, $adj_value );
+
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, $inv_value);
+ }
+
if (is_fixed_asset($mb_flag)) {
- // Additional gl entry for fixed asset.
- $grn_act = get_company_pref('default_loss_on_asset_disposal_act');
- add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $grn_act, 0, 0, $memo_, ($standard_cost * -($quantity)));
- }
+ // Additional gl entry for fixed asset.
+ $grn_act = get_company_pref('default_loss_on_asset_disposal_act');
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $grn_act, 0, 0, $memo_, ($unit_cost * -($quantity)));
+ }
}