43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
# Copyright (c) 2018, Frappe and Contributors
|
|
# License: GNU General Public License v3. See license.txt
|
|
|
|
|
|
import frappe
|
|
from frappe.model.utils.rename_field import rename_field
|
|
|
|
|
|
def execute():
|
|
# updating column value to handle field change from Data to Currency
|
|
changed_field = "base_scrap_material_cost"
|
|
frappe.db.sql(
|
|
f"update `tabBOM` set {changed_field} = '0' where trim(coalesce({changed_field}, ''))= ''"
|
|
)
|
|
|
|
for doctype in ["BOM Explosion Item", "BOM Item", "Work Order Item", "Item"]:
|
|
if frappe.db.has_column(doctype, "allow_transfer_for_manufacture"):
|
|
if doctype != "Item":
|
|
frappe.reload_doc("manufacturing", "doctype", frappe.scrub(doctype))
|
|
else:
|
|
frappe.reload_doc("stock", "doctype", frappe.scrub(doctype))
|
|
|
|
rename_field(doctype, "allow_transfer_for_manufacture", "include_item_in_manufacturing")
|
|
|
|
for doctype in ["BOM", "Work Order"]:
|
|
frappe.reload_doc("manufacturing", "doctype", frappe.scrub(doctype))
|
|
|
|
if frappe.db.has_column(doctype, "transfer_material_against_job_card"):
|
|
frappe.db.sql(
|
|
""" UPDATE `tab%s`
|
|
SET transfer_material_against = CASE WHEN
|
|
transfer_material_against_job_card = 1 then 'Job Card' Else 'Work Order' END
|
|
WHERE docstatus < 2"""
|
|
% (doctype)
|
|
)
|
|
else:
|
|
frappe.db.sql(
|
|
""" UPDATE `tab%s`
|
|
SET transfer_material_against = 'Work Order'
|
|
WHERE docstatus < 2"""
|
|
% (doctype)
|
|
)
|