33 lines
		
	
	
		
			851 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			851 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2017, Frappe and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| 
 | |
| import frappe
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	frappe.reload_doc("stock", "doctype", "item_barcode")
 | |
| 	if frappe.get_all("Item Barcode", limit=1): return
 | |
| 	if "barcode" not in frappe.db.get_table_columns("Item"): return
 | |
| 
 | |
| 	items_barcode = frappe.db.sql("select name, barcode from tabItem where barcode is not null", as_dict=True)
 | |
| 	frappe.reload_doc("stock", "doctype", "item")
 | |
| 
 | |
| 
 | |
| 
 | |
| 	for item in items_barcode:
 | |
| 		barcode = item.barcode.strip()
 | |
| 
 | |
| 		if barcode and '<' not in barcode:
 | |
| 			try:
 | |
| 				frappe.get_doc({
 | |
| 					'idx': 0,
 | |
| 					'doctype': 'Item Barcode',
 | |
| 					'barcode': barcode,
 | |
| 					'parenttype': 'Item',
 | |
| 					'parent': item.name,
 | |
| 					'parentfield': 'barcodes'
 | |
| 				}).insert()
 | |
| 			except (frappe.DuplicateEntryError, frappe.UniqueValidationError):
 | |
| 				continue
 |