X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Fincludes%2Fdb%2Fitems_adjust_db.inc;h=7dc541032cf69ad9e3890fd6d2307e326bdf19cd;hb=dab9179f6d090c402dc4bf926cfd62a7879032bc;hp=205b782e700f67a58b55a8ccb493cdaa325488aa;hpb=11109ad9f0e6af3f59d72731a95e473e72fb308b;p=fa-stable.git diff --git a/inventory/includes/db/items_adjust_db.inc b/inventory/includes/db/items_adjust_db.inc index 205b782e..7dc54103 100644 --- a/inventory/includes/db/items_adjust_db.inc +++ b/inventory/includes/db/items_adjust_db.inc @@ -33,10 +33,12 @@ function add_stock_adjustment($items, $location, $date_, $reference, $memo_) 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); + $tmp = $line_item->quantity; + $line_item->quantity = -$line_item->quantity; // calculate_reorder_level expect positive qty + $loc = calculate_reorder_level($location, $line_item, $st_ids, $st_names, $st_num, $st_reorder); + $line_item->quantity = $tmp; } add_stock_adjustment_item($adj_id, $line_item->stock_id, $location, $date_, $reference, @@ -94,17 +96,39 @@ function add_stock_adjustment_item($adj_id, $stock_id, $location, $date_, $refer update_average_material_cost(null, $stock_id, $standard_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"); + } + add_stock_move(ST_INVADJUST, $stock_id, $adj_id, $location, $date_, $reference, $quantity, $standard_cost); - if ($standard_cost > 0) + $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_, ($standard_cost * -($quantity))); + $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); + } - add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, ($standard_cost * $quantity)); + 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))); } }