diff --git a/erpnext/patches/v10_0/item_barcode_childtable_migrate.py b/erpnext/patches/v10_0/item_barcode_childtable_migrate.py index d985bbff4b0..e925952c489 100644 --- a/erpnext/patches/v10_0/item_barcode_childtable_migrate.py +++ b/erpnext/patches/v10_0/item_barcode_childtable_migrate.py @@ -7,16 +7,20 @@ import frappe def execute(): - items_barcode = frappe.db.sql("""SELECT name, barcode FROM tabItem - WHERE barcode IS NOT NULL and barcode != ''""", as_dict=1) + items_barcode = frappe.get_list('Item', ['name', 'barcode'], { 'barcode': ('!=', '') }) frappe.reload_doc("stock", "doctype", "item") frappe.reload_doc("stock", "doctype", "item_barcode") for item in items_barcode: - doc = frappe.get_doc("Item", item.get("name")) - if item.get("barcode"): - doc.append("barcodes", {"barcode": item.get("barcode")}) - doc.flags.ignore_validate = True - doc.flags.ignore_mandatory = True - doc.save() \ No newline at end of file + barcode = item.barcode.strip() + + if barcode and '<' not in barcode: + frappe.get_doc({ + 'idx': 0, + 'doctype': 'Item Barcode', + 'barcode': barcode, + 'parenttype': 'Item', + 'parent': item.name, + 'parentfield': 'barcodes' + }).insert() diff --git a/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py b/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py index beffc198b29..658cabb9209 100644 --- a/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py +++ b/erpnext/patches/v10_0/update_reserved_qty_for_purchase_order.py @@ -12,6 +12,7 @@ def execute(): if not po_item: return + frappe.reload_doc("stock", "doctype", "bin") frappe.reload_doc("buying", "doctype", "purchase_order_item_supplied") company_warehouse = frappe._dict(frappe.db.sql("""select company, min(name) from `tabWarehouse` where is_group = 0 group by company""")) @@ -30,7 +31,7 @@ def execute(): # Update bin item_wh_bin = frappe.db.sql((""" - select distinct poitemsup.rm_item_code as rm_item_code, + select distinct poitemsup.rm_item_code as rm_item_code, poitemsup.reserve_warehouse as reserve_warehouse from `tabPurchase Order` po, `tabPurchase Order Item Supplied` poitemsup where po.name = poitemsup.parent