brotherton-erpnext/erpnext/patches/v11_0/make_job_card.py

34 lines
1.0 KiB
Python
Raw Normal View History

# 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():
2022-03-28 13:22:46 +00:00
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")
2022-03-28 13:22:46 +00:00
fieldname = frappe.db.get_value(
"DocField", {"fieldname": "work_order", "parent": "Timesheet"}, "fieldname"
)
if not fieldname:
2022-03-28 13:22:46 +00:00
fieldname = frappe.db.get_value(
"DocField", {"fieldname": "production_order", "parent": "Timesheet"}, "fieldname"
)
if not fieldname:
return
2022-03-28 13:22:46 +00:00
for d in frappe.get_all(
"Timesheet", filters={fieldname: ["!=", ""], "docstatus": 0}, fields=[fieldname, "name"]
):
if d[fieldname]:
2022-03-28 13:22:46 +00:00
doc = frappe.get_doc("Work Order", d[fieldname])
for row in doc.operations:
create_job_card(doc, row, auto_create=True)
2022-03-28 13:22:46 +00:00
frappe.delete_doc("Timesheet", d.name)