From f7c8004b367843301c98f49db953907e20f5fe39 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Fri, 5 Sep 2008 16:05:21 +0000 Subject: [PATCH] Bug [0000053] Missing GL postings on item issue on Work Order --- CHANGELOG.txt | 10 ++++++++- .../includes/db/work_order_issues_db.inc | 8 +++++++ .../db/work_order_produce_items_db.inc | 2 +- .../includes/db/work_orders_quick_db.inc | 22 ++++++++++++++++++- reporting/rep108.php | 2 +- 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 86460088..d52ec291 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,7 +19,15 @@ Legend: ! -> Note $ -> Affected files -04-Swp-2008 Joe Hunt +05-Sep-2008 Joe Hunt +# Bug [0000053] Missing GL postings on item issue on Work Order +$ /manufacturing/includes/db/work_order_quick_db.inc + /manufacturing/includes/db/work_order_issues_db.inc + /manufacturing/includes/db/work_order_produce_items_db.inc +! Bad layout in aging on report Statements +$ /reporting/rep108.php + +04-Sep-2008 Joe Hunt # Bug [0000050] Invoice no. on all sales reports $ /reporting/includes/doctext.inc /reporting/includes/doctext2.inc diff --git a/manufacturing/includes/db/work_order_issues_db.inc b/manufacturing/includes/db/work_order_issues_db.inc index 9474da08..b78bb080 100644 --- a/manufacturing/includes/db/work_order_issues_db.inc +++ b/manufacturing/includes/db/work_order_issues_db.inc @@ -62,6 +62,14 @@ function get_work_order_issues($woid) return db_query($sql, "The work order issues could not be retrieved"); } +function get_additional_issues($woid) +{ + $sql = "SELECT ".TB_PREF."wo_issues.*, ".TB_PREF."wo_issue_items.* + FROM ".TB_PREF."wo_issues, ".TB_PREF."wo_issue_items + WHERE ".TB_PREF."wo_issues.issue_no=".TB_PREF."wo_issue_items.issue_id + AND ".TB_PREF."wo_issues.workorder_id=$woid ORDER BY ".TB_PREF."wo_issue_items.id"; + return db_query($sql, "The work order issues could not be retrieved"); +} //-------------------------------------------------------------------------------------- function get_work_order_issue($issue_no) diff --git a/manufacturing/includes/db/work_order_produce_items_db.inc b/manufacturing/includes/db/work_order_produce_items_db.inc index fd7d9655..6c2010c9 100644 --- a/manufacturing/includes/db/work_order_produce_items_db.inc +++ b/manufacturing/includes/db/work_order_produce_items_db.inc @@ -38,7 +38,7 @@ function work_order_produce($woid, $ref, $quantity, $date_, $memo_, $close_wo) // ------------------------------------------------------------------------- - work_order_quick_costs($woid, $details["stock_id"], $quantity, $date_, 0); + work_order_quick_costs($woid, $details["stock_id"], $quantity, $date_, 0, true); // ------------------------------------------------------------------------- if ($memo_) diff --git a/manufacturing/includes/db/work_orders_quick_db.inc b/manufacturing/includes/db/work_orders_quick_db.inc index cb16e374..1eccbdcf 100644 --- a/manufacturing/includes/db/work_orders_quick_db.inc +++ b/manufacturing/includes/db/work_orders_quick_db.inc @@ -71,7 +71,7 @@ function add_work_order_quick($wo_ref, $loc_code, $units_reqd, $stock_id, $type, //-------------------------------------------------------------------------------------- -function work_order_quick_costs($woid, $stock_id, $units_reqd, $date_, $additional_costs) +function work_order_quick_costs($woid, $stock_id, $units_reqd, $date_, $additional_costs, $advanced=false) { $result = get_bom($stock_id); @@ -84,11 +84,31 @@ function work_order_quick_costs($woid, $stock_id, $units_reqd, $date_, $addition $bom_cost = $bom_item["standard_cost"] * $bom_item["quantity"] * $units_reqd; + if ($advanced) + { + // insert a -ve stock move for each item + add_stock_move(systypes::work_order(), $bom_item["component"], $woid, + $bom_item["loc_code"], $date_, "", -$bom_item["quantity"] * $units_reqd, 0); + } add_gl_trans_std_cost(systypes::work_order(), $woid, $date_, $bom_accounts["inventory_account"], 0, 0, null, -$bom_cost); $total_cost += $bom_cost; } + if ($advanced) + { + // also take the additional issues + $res = get_additional_issues($woid); + while ($item = db_fetch($res)) + { + $standard_cost = get_standard_cost($item['stock_id']); + $issue_cost = $standard_cost * $item['qty_issued']; + $issue = get_stock_gl_code($item['stock_id']); + add_gl_trans_std_cost(systypes::work_order(), $woid, $date_, $issue["inventory_account"], 0, 0, + null, -$issue_cost); + $total_cost += $issue_cost; + } + } // credit additional costs $item_accounts = get_stock_gl_code($stock_id); add_gl_trans_std_cost(systypes::work_order(), $woid, $date_, $item_accounts["assembly_account"], diff --git a/reporting/rep108.php b/reporting/rep108.php index 6ec43659..f6eae3ee 100644 --- a/reporting/rep108.php +++ b/reporting/rep108.php @@ -150,7 +150,7 @@ function print_statements() number_format2($CustomerRecord["Balance"],$dec)); $col = array($rep->cols[0], $rep->cols[0] + 110, $rep->cols[0] + 210, $rep->cols[0] + 310, $rep->cols[0] + 410, $rep->cols[0] + 510); - $rep->row = $rep->bottomMargin + (8 * $rep->lineHeight); + $rep->row = $rep->bottomMargin + (8 * $rep->lineHeight - 6); for ($i = 0; $i < 5; $i++) $rep->TextWrap($col[$i], $rep->row, $col[$i + 1] - $col[$i], $str[$i], 'right'); $rep->NewLine(); -- 2.30.2