- /*
- $res = get_additional_issues($woid);
- $issue_total = 0;
- while ($item = db_fetch($res))
- {
- $standard_cost = get_standard_cost($item['stock_id']);
- $issue_cost = $standard_cost * $item['qty_issued'] * $units_reqd / $wo['units_reqd'];
- $issue = get_stock_gl_code($item['stock_id']);
- $stockitem = get_item($item['stock_id']);
- $total_cost += add_gl_trans_std_cost(ST_WORKORDER, $woid, $date_, $issue["inventory_account"], 0, 0,
- $date_.": "._("Issue of")." ".$stockitem["description"], -$issue_cost);
- $issue_total += $issue_cost;
- }
- if ($issue_total != 0)
- add_issue_cost($stock_id, $units_reqd, $date_, $issue_total);
- */
- $lcost = get_gl_wo_cost($woid, WO_LABOUR);
- add_labour_cost($stock_id, $units_reqd, $date_, $lcost * $units_reqd / $wo['units_reqd']);
- $ocost = get_gl_wo_cost($woid, WO_OVERHEAD);
- add_overhead_cost($stock_id, $units_reqd, $date_, $ocost * $units_reqd / $wo['units_reqd']);
-
- } else { // only for quick
- // credit additional costs
-
- if ($costs != 0.0)
- {
- add_wo_costs_journal($woid, $costs, WO_OVERHEAD, $cr_acc, $item_accounts["assembly_account"],
- $date_, $item_accounts["dimension_id"], $item_accounts["dimension2_id"]);
- }
- if ($labour != 0.0) // only for quick
- {
- add_wo_costs_journal($woid, $labour, WO_LABOUR, $cr_lab_acc, $item_accounts["assembly_account"],
- $date_, $item_accounts["dimension_id"], $item_accounts["dimension2_id"]);
- }
+ } // credit additional costs
+ $item_accounts = get_stock_gl_code($stock_id);
+ if ($costs != 0.0)
+ {
+ add_gl_trans_std_cost(ST_WORKORDER, $woid, $date_, $cr_acc,
+ 0, 0, $wo_cost_types[WO_OVERHEAD], -$costs, PT_WORKORDER, WO_OVERHEAD);
+ $is_bank_to = is_bank_account($cr_acc);
+ if ($is_bank_to)
+ {
+ add_bank_trans(ST_WORKORDER, $woid, $is_bank_to, "",
+ $date_, -$costs, PT_WORKORDER, WO_OVERHEAD, get_company_currency(),
+ "Cannot insert a destination bank transaction");
+ }
+
+ add_gl_trans_std_cost(ST_WORKORDER, $woid, $date_, $item_accounts["assembly_account"],
+ $item_accounts["dimension_id"], $item_accounts["dimension2_id"], $wo_cost_types[WO_OVERHEAD], $costs,
+ PT_WORKORDER, WO_OVERHEAD);
+ }
+ if ($labour != 0.0) // only for quick
+ {
+ add_gl_trans_std_cost(ST_WORKORDER, $woid, $date_, $cr_lab_acc,
+ 0, 0, $wo_cost_types[WO_LABOUR], -$labour, PT_WORKORDER, WO_LABOUR);
+ $is_bank_to = is_bank_account($cr_lab_acc);
+ if ($is_bank_to)
+ {
+ add_bank_trans(ST_WORKORDER, $woid, $is_bank_to, "",
+ $date_, -$labour, PT_WORKORDER, WO_LABOUR, get_company_currency(),
+ "Cannot insert a destination bank transaction");
+ }
+
+ add_gl_trans_std_cost(ST_WORKORDER, $woid, $date_, $item_accounts["assembly_account"],
+ $item_accounts["dimension_id"], $item_accounts["dimension2_id"], $wo_cost_types[WO_LABOUR], $labour,
+ PT_WORKORDER, WO_LABOUR);