X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdb%2Finventory_db.inc;h=e8f8e3c28888c4cc07b0c3d8d91e9eb4dd6742ca;hb=b52ca51128e33a2d051d8e36a7dcc2c22e816020;hp=037d410171470823e988887dc3d1600c887f921d;hpb=21b84b25b0b2ee604ff392c17c3c6c34bcbc4e63;p=fa-stable.git diff --git a/includes/db/inventory_db.inc b/includes/db/inventory_db.inc index 037d4101..e8f8e3c2 100644 --- a/includes/db/inventory_db.inc +++ b/includes/db/inventory_db.inc @@ -45,7 +45,8 @@ function get_qoh_on_date($stock_id, $location=null, $date_=null, $exclude=0) $myrow[0] -= $myrow2[0]; } - return $myrow[0]; + $qoh = $myrow[0]; + return $qoh ? $qoh : 0; } //-------------------------------------------------------------------------------------- @@ -248,8 +249,9 @@ function adjust_deliveries($stock_id, $material_cost, $to) $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'"; + + $memo_ = sprintf(_("Cost was %s changed to %s x quantity on hand for item '%s'"), + number_format2($old_cost, 2), number_format2($new_cost, 2), $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); @@ -284,9 +286,9 @@ function handle_negative_inventory($stock_id, $quantity, $standard_cost, $date_) $id = get_next_trans_no(ST_JOURNAL); $ref = $Refs->get_next(ST_JOURNAL); - $diff = get_standard_cost($stock_id) - $standard_cost; - - if ($diff !=0) + $diff = round($qoh*get_standard_cost($stock_id) + $quantity*$standard_cost, user_price_dec()); + + if ($diff != 0) { $stock_gl_code = get_stock_gl_code($stock_id); $memo = _("Zero/negative inventory handling"); @@ -294,13 +296,13 @@ function handle_negative_inventory($stock_id, $quantity, $standard_cost, $date_) add_gl_trans_std_cost(ST_JOURNAL, $id, $date_, $stock_gl_code["inventory_account"], $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'], $memo, - -$qoh * $diff); + -$diff); //GL Posting to inventory adjustment account add_gl_trans_std_cost(ST_JOURNAL, $id, $date_, $stock_gl_code["adjustment_account"], $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'], $memo, - $qoh * $diff); - + $diff); + add_audit_trail(ST_JOURNAL, $id, $date_); add_comments(ST_JOURNAL, $id, $date_, $memo); $Refs->save(ST_JOURNAL, $id, $ref); @@ -391,13 +393,13 @@ function void_stock_move($type, $type_no) // The cost has to be adjusted. // Transaction rates are stored either as price or standard_cost depending on types $types = array(ST_SUPPCREDIT, ST_SUPPRECEIVE); - if (in_array($type,$types)) - $trans_rate = $row["price"]; + if (in_array($type, $types)) + $unit_cost = $row["price"]; else - $trans_rate = $row["standard_cost"]; + $unit_cost = $row["standard_cost"]; - update_average_material_cost(0, $row["stock_id"], - $trans_rate, -$row["qty"], sql2date($row["tran_date"])); + update_average_material_cost($row["person_id"], $row["stock_id"], + $unit_cost, -$row["qty"], sql2date($row["tran_date"])); } } @@ -427,4 +429,4 @@ function get_location_name($loc_code) //-------------------------------------------------------------------------------------------------- -?> \ No newline at end of file +?>