Project filter in BOM selection in Production Order
This commit is contained in:
parent
c26ae0036d
commit
7cf1a1d84b
@ -213,7 +213,10 @@ $.extend(cur_frm.cscript, {
|
|||||||
production_item: function(doc) {
|
production_item: function(doc) {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "erpnext.manufacturing.doctype.production_order.production_order.get_item_details",
|
method: "erpnext.manufacturing.doctype.production_order.production_order.get_item_details",
|
||||||
args: { item: doc.production_item },
|
args: {
|
||||||
|
item: doc.production_item,
|
||||||
|
project: doc.project
|
||||||
|
},
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
$.each(["description", "stock_uom", "bom_no"], function(i, field) {
|
$.each(["description", "stock_uom", "bom_no"], function(i, field) {
|
||||||
cur_frm.set_value(field, r.message[field]);
|
cur_frm.set_value(field, r.message[field]);
|
||||||
@ -226,6 +229,10 @@ $.extend(cur_frm.cscript, {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
project: function(doc) {
|
||||||
|
cur_frm.cscript.production_item(doc)
|
||||||
|
},
|
||||||
|
|
||||||
make_se: function(purpose) {
|
make_se: function(purpose) {
|
||||||
var me = this;
|
var me = this;
|
||||||
var max = (purpose === "Manufacture") ?
|
var max = (purpose === "Manufacture") ?
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"allow_copy": 0,
|
"allow_copy": 0,
|
||||||
|
"allow_guest_to_view": 0,
|
||||||
"allow_import": 1,
|
"allow_import": 1,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"autoname": "naming_series:",
|
"autoname": "naming_series:",
|
||||||
@ -134,6 +135,37 @@
|
|||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"fieldname": "project",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Project",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"oldfieldname": "project",
|
||||||
|
"oldfieldtype": "Link",
|
||||||
|
"options": "Project",
|
||||||
|
"permlevel": 0,
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 0,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
@ -1122,37 +1154,6 @@
|
|||||||
"unique": 0,
|
"unique": 0,
|
||||||
"width": "50%"
|
"width": "50%"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"allow_on_submit": 0,
|
|
||||||
"bold": 0,
|
|
||||||
"collapsible": 0,
|
|
||||||
"columns": 0,
|
|
||||||
"fieldname": "project",
|
|
||||||
"fieldtype": "Link",
|
|
||||||
"hidden": 0,
|
|
||||||
"ignore_user_permissions": 0,
|
|
||||||
"ignore_xss_filter": 0,
|
|
||||||
"in_filter": 0,
|
|
||||||
"in_global_search": 0,
|
|
||||||
"in_list_view": 0,
|
|
||||||
"in_standard_filter": 0,
|
|
||||||
"label": "Project",
|
|
||||||
"length": 0,
|
|
||||||
"no_copy": 0,
|
|
||||||
"oldfieldname": "project",
|
|
||||||
"oldfieldtype": "Link",
|
|
||||||
"options": "Project",
|
|
||||||
"permlevel": 0,
|
|
||||||
"print_hide": 0,
|
|
||||||
"print_hide_if_no_value": 0,
|
|
||||||
"read_only": 0,
|
|
||||||
"remember_last_selected_value": 0,
|
|
||||||
"report_hide": 0,
|
|
||||||
"reqd": 0,
|
|
||||||
"search_index": 0,
|
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
@ -1275,18 +1276,18 @@
|
|||||||
"unique": 0
|
"unique": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"has_web_view": 0,
|
||||||
"hide_heading": 0,
|
"hide_heading": 0,
|
||||||
"hide_toolbar": 0,
|
"hide_toolbar": 0,
|
||||||
"icon": "fa fa-cogs",
|
"icon": "fa fa-cogs",
|
||||||
"idx": 1,
|
"idx": 1,
|
||||||
"image_view": 0,
|
"image_view": 0,
|
||||||
"in_create": 0,
|
"in_create": 0,
|
||||||
"in_dialog": 0,
|
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-02-17 17:26:47.310275",
|
"modified": "2017-03-16 16:24:16.773317",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Manufacturing",
|
"module": "Manufacturing",
|
||||||
"name": "Production Order",
|
"name": "Production Order",
|
||||||
|
@ -448,7 +448,7 @@ class ProductionOrder(Document):
|
|||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_item_details(item):
|
def get_item_details(item, project = None):
|
||||||
res = frappe.db.sql("""select stock_uom, description
|
res = frappe.db.sql("""select stock_uom, description
|
||||||
from `tabItem` where disabled=0 and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %s)
|
from `tabItem` where disabled=0 and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %s)
|
||||||
and name=%s""", (nowdate(), item), as_dict=1)
|
and name=%s""", (nowdate(), item), as_dict=1)
|
||||||
@ -457,13 +457,22 @@ def get_item_details(item):
|
|||||||
|
|
||||||
res = res[0]
|
res = res[0]
|
||||||
|
|
||||||
res["bom_no"] = frappe.db.get_value("BOM", filters={"item": item, "is_default": 1})
|
filters = {"item": item, "is_default": 1}
|
||||||
|
|
||||||
|
if project:
|
||||||
|
filters = {"item": item, "project": project}
|
||||||
|
|
||||||
|
res["bom_no"] = frappe.db.get_value("BOM", filters = filters)
|
||||||
|
|
||||||
if not res["bom_no"]:
|
if not res["bom_no"]:
|
||||||
variant_of= frappe.db.get_value("Item", item, "variant_of")
|
variant_of= frappe.db.get_value("Item", item, "variant_of")
|
||||||
|
|
||||||
if variant_of:
|
if variant_of:
|
||||||
res["bom_no"] = frappe.db.get_value("BOM", filters={"item": variant_of, "is_default": 1})
|
res["bom_no"] = frappe.db.get_value("BOM", filters={"item": variant_of, "is_default": 1})
|
||||||
|
|
||||||
if not res["bom_no"]:
|
if not res["bom_no"]:
|
||||||
|
if project:
|
||||||
|
frappe.throw(_("Default BOM for {0} not found for Project {1}").format(item, project))
|
||||||
frappe.throw(_("Default BOM for {0} not found").format(item))
|
frappe.throw(_("Default BOM for {0} not found").format(item))
|
||||||
|
|
||||||
res.update(check_if_scrap_warehouse_mandatory(res["bom_no"]))
|
res.update(check_if_scrap_warehouse_mandatory(res["bom_no"]))
|
||||||
|
Loading…
Reference in New Issue
Block a user