Removed sparse debit account selector from Work Order Additional Costs.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 9 Jan 2016 21:03:10 +0000 (22:03 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 21 Jan 2016 16:54:18 +0000 (17:54 +0100)
manufacturing/includes/db/work_order_costing_db.inc
manufacturing/includes/db/work_order_requirements_db.inc
manufacturing/includes/db/work_orders_db.inc
manufacturing/includes/manufacturing_ui.inc
manufacturing/work_order_costs.php

index 693f0ca1a731d5418c344d4821d508f7753f3110..8992f87d656ab1d64bfa86432798735a1f001a1a 100644 (file)
@@ -169,7 +169,7 @@ function add_issue_cost($stock_id, $qty, $date_, $costs, $adj_only=false)
 /*
        Create journal entry for WO related costs.
 */
-function add_wo_costs_journal($wo_id, $amount, $cost_type, $cr_acc, $db_acc, $date, $dim1=0, $dim2=0, $memo = null, $ref= null)
+function add_wo_costs_journal($wo_id, $amount, $cost_type, $cr_acc, $date, $dim1=0, $dim2=0, $memo = null, $ref= null)
 {
 //-------- this should be done by single call to write_journal_entries() using items_cart()
 //
@@ -179,34 +179,28 @@ function add_wo_costs_journal($wo_id, $amount, $cost_type, $cr_acc, $db_acc, $da
 
     $journal_id = get_next_trans_no(ST_JOURNAL);
 
+       $wo = get_work_order($wo_id);
+
     if (!$ref) $ref = $Refs->get_next(ST_JOURNAL, null, $date);
 
        add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $cr_acc,
                0, 0, $wo_cost_types[$cost_type], -$amount);
+
        $is_bank_to = is_bank_account($cr_acc);
        if ($is_bank_to)
        {
                add_bank_trans(ST_JOURNAL, $journal_id, $is_bank_to, "",
                        $date, -$amount, PT_WORKORDER, $wo_id, get_company_currency(),
                        "Cannot insert a destination bank transaction");
-       } 
+       }
        add_journal(ST_JOURNAL, $journal_id, $amount, $date, get_company_currency(), $ref);
 
-       add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $db_acc,
+       add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $wo['assembly_account'],
                $dim1, $dim2,  $wo_cost_types[$cost_type], $amount);
 
        $wo = get_work_order($wo_id);
        $wip = $wo['assembly_account'];
 
-       if ($db_acc != $wip)
-       {
-               add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $db_acc,
-                       0, 0,  $wo_cost_types[$cost_type], -$amount);
-
-               add_gl_trans_std_cost(ST_JOURNAL, $journal_id, $date, $wip,
-                       0, 0,  $wo_cost_types[$cost_type], $amount);
-       }
-
        $Refs->save(ST_JOURNAL, $journal_id, $ref);
 
        add_wo_costing($wo_id, $cost_type, ST_JOURNAL, $journal_id);
index 6bb171c7329d85131ea11a1f9a60dbed0f68f39e..090c8c548abc3a0dc0089833631ef132b2641691 100644 (file)
@@ -15,7 +15,7 @@ function get_wo_requirements($woid)
                        center.name AS WorkCentreDescription,
                        item.material_cost as ComponentCost,
                        item.inventory_account,
-                       item.assembly_account
+                       item.cogs_account
                FROM (".TB_PREF."wo_requirements req,"
                        .TB_PREF."locations loc,"
                        .TB_PREF."workcentres center)
index 11c9204fdf37f5c9ca45cd0bba2eeff82b6d66f6..94bc517089625b5fdff01c7a53263b84ce8793e3 100644 (file)
@@ -52,11 +52,10 @@ function add_work_order($wo_ref, $loc_code, $units_reqd, $stock_id,
                $stockitem = get_item($stock_id);
                release_work_order($woid, $date_, '');
                if ($costs != 0)
-                       add_wo_costs_journal($woid, $costs, WO_OVERHEAD, $cr_acc, $stockitem["assembly_account"],
-                               $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
+                       add_wo_costs_journal($woid, $costs, WO_OVERHEAD, $cr_acc, $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
+
                if ($labour != 0)
-                       add_wo_costs_journal($woid, $labour, WO_LABOUR, $cr_lab_acc, $stockitem["assembly_account"],
-                               $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
+                       add_wo_costs_journal($woid, $labour, WO_LABOUR, $cr_lab_acc, $date_, $stockitem["dimension_id"], $stockitem["dimension2_id"]);
 
                if ($type == WO_UNASSEMBLY)
                        $units_reqd = -$units_reqd;
index ad27d03a864099c26833ac1adb1fffe4f02d5a21..812590edd1a9f6a51884f7e5c1921e7cbd5a3867 100644 (file)
@@ -61,6 +61,7 @@ function display_bom($item_check)
                $item = get_item($item_check);
                if ($item['labour_cost'] != 0)
                {
+                       $total_cost += $item['labour_cost'];
                        alt_table_row_color($k);
                label_cells(_("Standard Labour Cost"), number_format2($item['labour_cost'],user_price_dec()),
                "colspan=6 align=left", "class=odd_row nowrap align=right");
@@ -68,6 +69,7 @@ function display_bom($item_check)
                }
                if ($item['overhead_cost'] != 0)
                {
+                       $total_cost += $item['overhead_cost'];
                        alt_table_row_color($k);
                label_cells(_("Standard Overhead Cost"), number_format2($item['overhead_cost'],user_price_dec()),
                "colspan=6 align=left", "nowrap align=right");
@@ -261,7 +263,7 @@ function display_wo_payments($woid)
                label_cell($wo_cost_types[$myrow['cost_type']]);
                $date = sql2date($myrow["tran_date"]);
                label_cell($date);
-                       amount_cell(-($myrow['amount']));
+                       amount_cell($myrow['amount']);
                        end_row();
                }
 
index 244c4a17c6b4894122b7b1cc306cf4039e017ee1..ef40fc9373080b9bd08a11524f4810af744f4374 100644 (file)
@@ -106,7 +106,7 @@ if (isset($_POST['process']) && can_process($wo_details) == true)
        $ref  = $_POST['ref'];
 
        add_wo_costs_journal($_POST['selected_id'], input_num('costs'), $_POST['PaymentType'], 
-               $_POST['cr_acc'], $_POST['db_acc'], $date, $_POST['dim1'], $_POST['dim2'], $memo, $ref);
+               $_POST['cr_acc'], $date, $_POST['dim1'], $_POST['dim2'], $memo, $ref);
 
        meta_forward($_SERVER['PHP_SELF'], "AddedID=".$_POST['selected_id']);
 }
@@ -138,13 +138,11 @@ if (list_updated('PaymentType'))
        $Ajax->activate('costs');
 
 $item = get_item($wo_details['stock_id']);
-$_POST['db_acc'] = $item['assembly_account'];
 $r = get_default_bank_account(get_company_pref('curr_default'));
 $_POST['cr_acc'] = $r[0];
 $_POST['costs'] = price_format(get_post('PaymentType')==WO_OVERHEAD ? $item['overhead_cost'] : $item['labour_cost']);
 
 amount_row(_("Additional Costs:"), 'costs');
-gl_all_accounts_list_row(_("Debit Account"), 'db_acc', null);
 gl_all_accounts_list_row(_("Credit Account"), 'cr_acc', null);
 textarea_row(_("Memo:"), 'memo', null, 40, 5);
 end_table(1);