[fix] Rejected serial nos in purchase invoice
This commit is contained in:
		
							parent
							
								
									972224e71a
								
							
						
					
					
						commit
						c46c1f0288
					
				| @ -397,6 +397,17 @@ class TestPurchaseInvoice(unittest.TestCase): | ||||
| 		 | ||||
| 		rm_supp_cost = sum([d.amount for d in pi.get("supplied_items")]) | ||||
| 		self.assertEquals(pi.get("items")[0].rm_supp_cost, flt(rm_supp_cost, 2)) | ||||
| 		 | ||||
| 	def test_rejected_serial_no(self): | ||||
| 		pi = make_purchase_invoice(item_code="_Test Serialized Item With Series", received_qty=2, qty=1, | ||||
| 			rejected_qty=1, rate=500, update_stock=1, | ||||
| 			rejected_warehouse = "_Test Rejected Warehouse - _TC") | ||||
| 		 | ||||
| 		self.assertEquals(frappe.db.get_value("Serial No", pi.get("items")[0].serial_no, "warehouse"), | ||||
| 			pi.get("items")[0].warehouse) | ||||
| 			 | ||||
| 		self.assertEquals(frappe.db.get_value("Serial No", pi.get("items")[0].rejected_serial_no,  | ||||
| 			"warehouse"), pi.get("items")[0].rejected_warehouse) | ||||
| 
 | ||||
| def make_purchase_invoice(**args): | ||||
| 	pi = frappe.new_doc("Purchase Invoice") | ||||
| @ -419,19 +430,23 @@ def make_purchase_invoice(**args): | ||||
| 	pi.conversion_rate = args.conversion_rate or 1 | ||||
| 	pi.is_return = args.is_return | ||||
| 	pi.return_against = args.return_against | ||||
| 	pi.is_subcontracted = args.is_subcontracted | ||||
| 	pi.is_subcontracted = args.is_subcontracted or "No" | ||||
| 	pi.supplier_warehouse = "_Test Warehouse 1 - _TC" | ||||
| 
 | ||||
| 	pi.append("items", { | ||||
| 		"item_code": args.item or args.item_code or "_Test Item", | ||||
| 		"warehouse": args.warehouse or "_Test Warehouse - _TC", | ||||
| 		"qty": args.qty or 5, | ||||
| 		"received_qty": args.received_qty or 0, | ||||
| 		"rejected_qty": args.rejected_qty or 0, | ||||
| 		"rate": args.rate or 50, | ||||
| 		"conversion_factor": 1.0, | ||||
| 		"serial_no": args.serial_no, | ||||
| 		"stock_uom": "_Test UOM", | ||||
| 		"cost_center": "_Test Cost Center - _TC", | ||||
| 		"project": args.project | ||||
| 		"project": args.project, | ||||
| 		"rejected_warehouse": args.rejected_warehouse or "", | ||||
| 		"rejected_serial_no": args.rejected_serial_no or "" | ||||
| 	}) | ||||
| 	if not args.do_not_save: | ||||
| 		pi.insert() | ||||
|  | ||||
| @ -973,17 +973,17 @@ | ||||
|    "collapsible": 0,  | ||||
|    "fieldname": "rejected_serial_no",  | ||||
|    "fieldtype": "Text",  | ||||
|    "hidden": 1,  | ||||
|    "hidden": 0,  | ||||
|    "ignore_user_permissions": 0,  | ||||
|    "ignore_xss_filter": 0,  | ||||
|    "in_filter": 0,  | ||||
|    "in_list_view": 0,  | ||||
|    "label": "Rejected Serial No",  | ||||
|    "length": 0,  | ||||
|    "no_copy": 0,  | ||||
|    "no_copy": 1,  | ||||
|    "permlevel": 0,  | ||||
|    "precision": "",  | ||||
|    "print_hide": 0,  | ||||
|    "print_hide": 1,  | ||||
|    "print_hide_if_no_value": 0,  | ||||
|    "read_only": 0,  | ||||
|    "report_hide": 0,  | ||||
| @ -1545,12 +1545,13 @@ | ||||
|  "issingle": 0,  | ||||
|  "istable": 1,  | ||||
|  "max_attachments": 0,  | ||||
|  "modified": "2016-04-07 16:38:30.502386",  | ||||
|  "modified": "2016-04-18 08:08:53.056818",  | ||||
|  "modified_by": "Administrator",  | ||||
|  "module": "Accounts",  | ||||
|  "name": "Purchase Invoice Item",  | ||||
|  "owner": "Administrator",  | ||||
|  "permissions": [],  | ||||
|  "quick_entry": 0,  | ||||
|  "read_only": 0,  | ||||
|  "read_only_onload": 0,  | ||||
|  "sort_field": "modified",  | ||||
|  | ||||
| @ -51,7 +51,7 @@ class PurchaseCommon(BuyingController): | ||||
| 				item_code = %s and warehouse = %s""", (d.item_code, d.warehouse), as_dict=1) | ||||
| 
 | ||||
| 			f_lst ={'projected_qty': bin and flt(bin[0]['projected_qty']) or 0, 'ordered_qty': 0, 'received_qty' : 0} | ||||
| 			if d.doctype == 'Purchase Receipt Item': | ||||
| 			if d.doctype in ('Purchase Receipt Item', 'Purchase Invoice Item'): | ||||
| 				f_lst.pop('received_qty') | ||||
| 			for x in f_lst : | ||||
| 				if d.meta.get_field(x): | ||||
|  | ||||
| @ -303,7 +303,8 @@ def update_serial_nos_after_submit(controller, parentfield): | ||||
| 	if not stock_ledger_entries: return | ||||
| 
 | ||||
| 	for d in controller.get(parentfield): | ||||
| 		update_rejected_serial_nos = True if (controller.doctype=="Purchase Receipt" and d.rejected_qty) else False | ||||
| 		update_rejected_serial_nos = True if (controller.doctype in ("Purchase Receipt", "Purchase Invoice")  | ||||
| 			and d.rejected_qty) else False | ||||
| 		accepted_serial_nos_updated = False | ||||
| 		warehouse = d.t_warehouse if controller.doctype == "Stock Entry" else d.warehouse | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user