X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fincludes%2Fdb%2Finvoice_db.inc;h=a7a7cba45e0cb210d0ef7a648cc5a90061b4b708;hb=20a29dd033237c2329c6ca3152cb17135e6c4f66;hp=7a07e2edda809fe5ca6e7b5de22790cbab0e3d27;hpb=6c7615033b01cce21a088dcfdb20e874533cc921;p=fa-stable.git diff --git a/purchasing/includes/db/invoice_db.inc b/purchasing/includes/db/invoice_db.inc index 7a07e2ed..a7a7cba4 100644 --- a/purchasing/includes/db/invoice_db.inc +++ b/purchasing/includes/db/invoice_db.inc @@ -405,6 +405,8 @@ function void_supp_invoice($type, $type_no) { begin_transaction(); + $trans = get_supp_trans($type_no, $type); + void_bank_trans($type, $type_no, true); void_gl_trans($type, $type_no, true); @@ -442,29 +444,20 @@ function void_supp_invoice($type, $type_no) $sql = "UPDATE ".TB_PREF."grn_items SET qty_recd=qty_recd+".-$details_row["quantity"]." WHERE id=".$details_row["grn_item_id"]; db_query($sql); - } - $diff = get_diff_in_home_currency($grn["supplier_id"], $old_date, $date_, $old[2], - $details_row["FullUnitPrice"]); - // Only adjust the avg for the diff - $mat_cost = update_average_material_cost(null, $details_row["stock_id"], - $diff, -$details_row["quantity"], $date_, true); - + $mat_cost = update_average_material_cost($grn["supplier_id"], $details_row["stock_id"], + $details_row["FullUnitPrice"], -$details_row["quantity"], $date_); + } + else + { + $diff = get_diff_in_home_currency($grn["supplier_id"], $old_date, sql2date($trans['tran_date']), $old[2], + $details_row["FullUnitPrice"]); + // Only adjust the avg for the diff + $mat_cost = update_average_material_cost(null, $details_row["stock_id"], + $diff, -$details_row["quantity"], $old_date, true); + } $deliveries = get_deliveries_between($details_row["stock_id"], $old_date, $date_); if ($deliveries[0] != 0) // have deliveries been done during the period? { - $deliveries[1] /= $deliveries[0]; - $amt = ($mat_cost - $deliveries[1]) * $deliveries[0]; // $amt in home currency - if ($amt != 0.0) - { - $stock_gl_code = get_stock_gl_code($details_row["stock_id"]); - add_gl_trans($type, $type_no, $date_, $stock_gl_code["cogs_account"], - $stock_gl_code['dimension_id'], $stock_gl_code['dimension2_id'], _("Cost diff."), - -$amt, null, null, null, - "The general ledger transaction could not be added for the price variance of the inventory item"); - add_gl_trans($type, $type_no, $date_, $stock_gl_code["inventory_account"], - 0, 0, _("Cost diff."), $amt, null, null, null, - "The general ledger transaction could not be added for the price variance of the inventory item"); - } update_stock_move_pid(13, $details_row["stock_id"], $old_date, $date_, 0, $mat_cost); } update_stock_move_pid(25, $details_row["stock_id"], $old_date, $old_date, $grn['supplier_id'], $mat_cost);