34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2017, Frappe and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| 
 | |
| import frappe
 | |
| 
 | |
| from erpnext.manufacturing.doctype.work_order.work_order import create_job_card
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	frappe.reload_doc("manufacturing", "doctype", "work_order")
 | |
| 	frappe.reload_doc("manufacturing", "doctype", "work_order_item")
 | |
| 	frappe.reload_doc("manufacturing", "doctype", "job_card")
 | |
| 	frappe.reload_doc("manufacturing", "doctype", "job_card_item")
 | |
| 
 | |
| 	fieldname = frappe.db.get_value(
 | |
| 		"DocField", {"fieldname": "work_order", "parent": "Timesheet"}, "fieldname"
 | |
| 	)
 | |
| 	if not fieldname:
 | |
| 		fieldname = frappe.db.get_value(
 | |
| 			"DocField", {"fieldname": "production_order", "parent": "Timesheet"}, "fieldname"
 | |
| 		)
 | |
| 		if not fieldname:
 | |
| 			return
 | |
| 
 | |
| 	for d in frappe.get_all(
 | |
| 		"Timesheet", filters={fieldname: ["!=", ""], "docstatus": 0}, fields=[fieldname, "name"]
 | |
| 	):
 | |
| 		if d[fieldname]:
 | |
| 			doc = frappe.get_doc("Work Order", d[fieldname])
 | |
| 			for row in doc.operations:
 | |
| 				create_job_card(doc, row, auto_create=True)
 | |
| 			frappe.delete_doc("Timesheet", d.name)
 |