From 687b1a5b1f9bed8a763fc037dcb9ead4645b0983 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 22 Aug 2019 16:41:14 +0530 Subject: [PATCH] fix: Make pick list submittable and add few fields - Add material request & item fields - Add pick_list field to Stock Entry - Add purpose field to pick list --- .../stock/doctype/pick_list/pick_list.json | 76 ++++++++++++++++++- erpnext/stock/doctype/pick_list/pick_list.py | 11 ++- .../pick_list_reference_item.json | 23 +++++- .../doctype/stock_entry/stock_entry.json | 11 ++- 4 files changed, 111 insertions(+), 10 deletions(-) diff --git a/erpnext/stock/doctype/pick_list/pick_list.json b/erpnext/stock/doctype/pick_list/pick_list.json index 0fd7dfbfc21..504a3fa14ff 100644 --- a/erpnext/stock/doctype/pick_list/pick_list.json +++ b/erpnext/stock/doctype/pick_list/pick_list.json @@ -5,6 +5,7 @@ "editable_grid": 1, "engine": "InnoDB", "field_order": [ + "purpose", "items_based_on", "customer", "work_order", @@ -15,7 +16,8 @@ "section_break_4", "items", "section_break_6", - "locations" + "locations", + "amended_from" ], "fields": [ { @@ -87,16 +89,36 @@ "description": "Qty of raw materials will be decided based on the qty of the Finished Goods Item", "fieldname": "for_qty", "fieldtype": "Float", - "label": "Qty of Finished Goods Item" + "label": "Qty of Finished Goods Item", + "read_only": 1 + }, + { + "fieldname": "amended_from", + "fieldtype": "Link", + "label": "Amended From", + "no_copy": 1, + "options": "Pick List", + "print_hide": 1, + "read_only": 1 + }, + { + "default": "Material Transfer for manufacturing", + "fieldname": "purpose", + "fieldtype": "Select", + "label": "Purpose", + "options": "Material Transfer for manufacturing\nMaterial Issue\nMaterial Transfer\nDelivery against Sales Order" } ], - "modified": "2019-08-22 09:50:01.099449", + "is_submittable": 1, + "modified": "2019-08-22 13:36:18.912659", "modified_by": "Administrator", "module": "Stock", "name": "Pick List", "owner": "Administrator", "permissions": [ { + "amend": 1, + "cancel": 1, "create": 1, "delete": 1, "email": 1, @@ -104,8 +126,54 @@ "print": 1, "read": 1, "report": 1, - "role": "System Manager", + "role": "Stock Manager", "share": 1, + "submit": 1, + "write": 1 + }, + { + "amend": 1, + "cancel": 1, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Stock User", + "share": 1, + "submit": 1, + "write": 1 + }, + { + "amend": 1, + "cancel": 1, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Manufacturing Manager", + "share": 1, + "submit": 1, + "write": 1 + }, + { + "amend": 1, + "cancel": 1, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Manufacturing User", + "share": 1, + "submit": 1, "write": 1 } ], diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py index f69fbd53b34..550c70f2d19 100644 --- a/erpnext/stock/doctype/pick_list/pick_list.py +++ b/erpnext/stock/doctype/pick_list/pick_list.py @@ -237,6 +237,7 @@ def create_stock_entry(pick_list): work_order = frappe.get_doc("Work Order", pick_list.get('work_order')) stock_entry = frappe.new_doc('Stock Entry') + stock_entry.pick_list = pick_list.get('name') stock_entry.purpose = 'Material Transfer For Manufacture' stock_entry.set_stock_entry_type() stock_entry.work_order = work_order.name @@ -264,12 +265,17 @@ def create_stock_entry(pick_list): item.s_warehouse = location.warehouse item.t_warehouse = wip_warehouse item.qty = location.qty + item.transfer_qty = location.stock_qty item.uom = location.uom item.conversion_factor = location.conversion_factor item.stock_uom = location.stock_uom stock_entry.append('items', item) + stock_entry.set_incoming_rate() + stock_entry.set_actual_qty() + stock_entry.calculate_rate_and_amount(update_finished_item_rate=False) + return stock_entry.as_dict() @frappe.whitelist() @@ -281,7 +287,7 @@ def get_pending_work_orders(doctype, txt, searchfield, start, page_length, filte `tabWork Order` WHERE `status` not in ('Completed', 'Stopped') - AND `qty` > `produced_qty` + AND `qty` > `material_transferred_for_manufacturing` AND `docstatus` = 1 AND `company` = %(company)s AND `name` like %(txt)s @@ -296,3 +302,6 @@ def get_pending_work_orders(doctype, txt, searchfield, start, page_length, filte 'page_length': frappe.utils.cint(page_length), 'company': filters.get('company') }, as_dict=as_dict) + +def get_item_details(item_code): + pass \ No newline at end of file diff --git a/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json b/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json index 0aa94feb373..e6984ef3237 100644 --- a/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json +++ b/erpnext/stock/doctype/pick_list_reference_item/pick_list_reference_item.json @@ -14,7 +14,9 @@ "conversion_factor", "reference_section", "sales_order", - "sales_order_item" + "sales_order_item", + "material_request", + "material_request_item" ], "fields": [ { @@ -65,21 +67,34 @@ "fieldname": "sales_order", "fieldtype": "Link", "label": "Sales Order", - "options": "Sales Order" + "options": "Sales Order", + "read_only": 1 }, { "fieldname": "sales_order_item", "fieldtype": "Data", - "label": "Sales Order Item" + "label": "Sales Order Item", + "read_only": 1 }, { "fieldname": "conversion_factor", "fieldtype": "Float", "label": "UOM Conversion Factor" + }, + { + "fieldname": "material_request", + "fieldtype": "Link", + "label": "Material Request", + "options": "Material Request" + }, + { + "fieldname": "material_request_item", + "fieldtype": "Data", + "label": "Material Request Item" } ], "istable": 1, - "modified": "2019-08-14 18:38:28.867113", + "modified": "2019-08-22 14:19:19.725540", "modified_by": "Administrator", "module": "Stock", "name": "Pick List Reference Item", diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json index ee563cb4a0d..22b84a18dd3 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.json +++ b/erpnext/stock/doctype/stock_entry/stock_entry.json @@ -17,6 +17,7 @@ "purchase_order", "delivery_note_no", "sales_invoice_no", + "pick_list", "purchase_receipt_no", "col2", "posting_date", @@ -613,12 +614,20 @@ { "fieldname": "dimension_col_break", "fieldtype": "Column Break" + }, + { + "fieldname": "pick_list", + "fieldtype": "Link", + "hidden": 1, + "label": "Pick List", + "options": "Pick List", + "read_only": 1 } ], "icon": "fa fa-file-text", "idx": 1, "is_submittable": 1, - "modified": "2019-07-14 17:41:39.257508", + "modified": "2019-08-22 13:09:55.344036", "modified_by": "Administrator", "module": "Stock", "name": "Stock Entry",