[Fix]Serial No if is_return
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
index 3c62297..c5d2b31 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
@@ -123,12 +123,13 @@
def get_serial_no_for_item(args):
from erpnext.stock.get_item_details import get_serial_no
+
item_details = frappe._dict({
"doctype": args.doctype,
"name": args.name,
"serial_no": args.serial_no
})
- if args.get("parenttype") in ("Sales Invoice", "Delivery Note"):
+ if args.get("parenttype") in ("Sales Invoice", "Delivery Note") and args.qty > 0:
item_details.serial_no = get_serial_no(args)
return item_details
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 0f1e30d..b9b11a8 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -73,7 +73,7 @@
out.update(get_pricing_rule_for_item(args))
- if args.get("doctype") in ("Sales Invoice", "Delivery Note"):
+ if args.get("doctype") in ("Sales Invoice", "Delivery Note") and out.qty > 0:
out.serial_no = get_serial_no(out)
if args.transaction_date and item.lead_time_days:
@@ -387,7 +387,8 @@
def get_bin_details_and_serial_nos(item_code, warehouse, qty=None, serial_no=None):
bin_details_and_serial_nos = {}
bin_details_and_serial_nos.update(get_bin_details(item_code, warehouse))
- bin_details_and_serial_nos.update(get_serial_no_details(item_code, warehouse, qty, serial_no))
+ if qty > 0:
+ bin_details_and_serial_nos.update(get_serial_no_details(item_code, warehouse, qty, serial_no))
return bin_details_and_serial_nos
@frappe.whitelist()