From 464c27e189a5c24a0c22af536a17bb2ff8d1ba0f Mon Sep 17 00:00:00 2001 From: Saurabh Date: Mon, 26 Sep 2016 14:29:17 +0530 Subject: [PATCH] [feature] scrap management --- erpnext/manufacturing/doctype/bom/bom.js | 15 ++ erpnext/manufacturing/doctype/bom/bom.json | 90 ++++++- erpnext/manufacturing/doctype/bom/bom.py | 15 +- .../doctype/bom_scrap_item/__init__.py | 0 .../bom_scrap_item/bom_scrap_item.json | 248 ++++++++++++++++++ .../doctype/bom_scrap_item/bom_scrap_item.py | 10 + 6 files changed, 368 insertions(+), 10 deletions(-) create mode 100644 erpnext/manufacturing/doctype/bom_scrap_item/__init__.py create mode 100644 erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.json create mode 100644 erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.py diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index 94f9d38f45b..dbff91bd06c 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -83,8 +83,10 @@ var get_bom_material_detail= function(doc, cdt, cdn) { d = locals[cdt][cdn]; $.extend(d, r.message); refresh_field("items"); + refresh_field("scrap_items"); doc = locals[doc.doctype][doc.name]; erpnext.bom.calculate_rm_cost(doc); + erpnext.bom.calculate_sm_cost(doc); erpnext.bom.calculate_total(doc); }, freeze: true @@ -120,6 +122,7 @@ erpnext.bom.calculate_op_cost = function(doc) { refresh_field('operating_cost'); } +// rm : raw material erpnext.bom.calculate_rm_cost = function(doc) { var rm = doc.items || []; total_rm_cost = 0; @@ -133,6 +136,17 @@ erpnext.bom.calculate_rm_cost = function(doc) { cur_frm.set_value("raw_material_cost", total_rm_cost); } +//sm : scrap material +erpnext.bom.calculate_sm_cost = function(doc) { + var sm = doc.scrap_items || []; + total_sm_cost = 0; + for(var i=0;i