From: Joe Hunt Date: Thu, 13 Dec 2007 15:53:02 +0000 (+0000) Subject: Fixed a bug when voiding a transaction (Journal Entry). An eventually underlying... X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=1e2273eab52653f3991201dfdcca99a9498227d2;p=textcart.git Fixed a bug when voiding a transaction (Journal Entry). An eventually underlying bank transfer was not voided. --- diff --git a/CHANGELOG.txt b/CHANGELOG.txt index b250d52..405fe84 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,10 @@ Legend: ! -> Note $ -> Affected files +13-Dec-2007 Joe Hunt + # Fixed a bug when voiding a transaction (Journal Entry). An eventually underlying bank transfer was not voided. + $ /admin/db/voiding_db.inc + 06-Dec-2007 Joe Hunt # Fixed a bug when adding lines during Payments to suppliers, the supplier was set back to the first. $ /gl/gl_payment.php diff --git a/admin/db/voiding_db.inc b/admin/db/voiding_db.inc index 5aef438..36fb7d8 100644 --- a/admin/db/voiding_db.inc +++ b/admin/db/voiding_db.inc @@ -8,17 +8,19 @@ include_once($path_to_root . "/manufacturing/includes/manufacturing_db.inc"); function void_transaction($type, $type_no, $date_, $memo_) { $void_entry = get_voided_entry($type, $type_no); - + if ($void_entry != null) return false; - + switch ($type) { case 0 : // it's a journal entry if (!exists_gl_trans($type, $type_no)) return false; void_gl_trans($type, $type_no); + if (exists_bank_trans($type, $type_no)) + void_bank_trans($type, $type_no); break; - + case 1 : // it's a payment case 2 : // it's a deposit case 4 : // it's a transfer @@ -26,7 +28,7 @@ function void_transaction($type, $type_no, $date_, $memo_) return false; void_bank_trans($type, $type_no); break; - + case 10 : // it's a customer invoice case 11 : // it's a customer credit note case 12 : // it's a customer payment @@ -34,19 +36,19 @@ function void_transaction($type, $type_no, $date_, $memo_) return false; post_void_customer_trans($type, $type_no); break; - + case systypes::location_transfer() : // it's a stock transfer if (get_stock_transfer_items($type_no) == null) return false; void_stock_transfer($type_no); - break; - + break; + case systypes::inventory_adjustment() : // it's a stock adjustment if (get_stock_adjustment_items($type_no) == null) return false; void_stock_adjustment($type_no); break; - + case 20 : // it's a suppler invoice case 21 : // it's a supplier credit note case 22 : // it's a supplier payment @@ -56,32 +58,32 @@ function void_transaction($type, $type_no, $date_, $memo_) if (!post_void_supp_trans($type, $type_no)) return false; break; - + case systypes::work_order() : // it's a work order if (!get_work_order($type_no, true)) return false; void_work_order($type_no); break; - + case 28 : // it's a work order issue if (!exists_work_order_issue($type_no)) return false; void_work_order_issue($type_no); break; - + case 29 : // it's a work order production if (!exists_work_order_produce($type_no)) return false; void_work_order_produce($type_no); - break; - + break; + case systypes::cost_update() : // it's a stock cost update break; } - - // only add an entry if it's actually been voided + + // only add an entry if it's actually been voided add_voided_entry($type, $type_no, $date_, $memo_); - + return true; } @@ -90,9 +92,9 @@ function void_transaction($type, $type_no, $date_, $memo_) function get_voided_entry($type, $type_no) { $sql = "SELECT * FROM ".TB_PREF."voided WHERE type=$type AND id=$type_no"; - + $result = db_query($sql, "could not query voided transaction table"); - + return db_fetch($result); } @@ -103,8 +105,8 @@ function add_voided_entry($type, $type_no, $date_, $memo_) $date = date2sql($date_); $sql = "INSERT INTO ".TB_PREF."voided (type, id, date_, memo_) VALUES ($type, $type_no, '$date', '$memo_')"; - - db_query($sql, "could not add voided transaction entry"); + + db_query($sql, "could not add voided transaction entry"); } //--------------------------------------------------------------------------------------------------