fix: rejected_serial_no not getting copied from PR to PR(Return)
(cherry picked from commit a9f0a11ce6)
# Conflicts:
# erpnext/controllers/sales_and_purchase_return.py
This commit is contained in:
@@ -393,7 +393,21 @@ def make_return_doc(doctype: str, source_name: str, target_doc=None):
|
|||||||
if serial_nos:
|
if serial_nos:
|
||||||
target_doc.serial_no = "\n".join(serial_nos)
|
target_doc.serial_no = "\n".join(serial_nos)
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
if doctype == "Purchase Receipt":
|
if doctype == "Purchase Receipt":
|
||||||
|
=======
|
||||||
|
if source_doc.get("rejected_serial_no"):
|
||||||
|
returned_serial_nos = get_returned_serial_nos(
|
||||||
|
source_doc, source_parent, serial_no_field="rejected_serial_no"
|
||||||
|
)
|
||||||
|
rejected_serial_nos = list(
|
||||||
|
set(get_serial_nos(source_doc.rejected_serial_no)) - set(returned_serial_nos)
|
||||||
|
)
|
||||||
|
if rejected_serial_nos:
|
||||||
|
target_doc.rejected_serial_no = "\n".join(rejected_serial_nos)
|
||||||
|
|
||||||
|
if doctype in ["Purchase Receipt", "Subcontracting Receipt"]:
|
||||||
|
>>>>>>> a9f0a11ce6 (fix: `rejected_serial_no` not getting copied from PR to PR(Return))
|
||||||
returned_qty_map = get_returned_qty_map_for_row(
|
returned_qty_map = get_returned_qty_map_for_row(
|
||||||
source_parent.name, source_parent.supplier, source_doc.name, doctype
|
source_parent.name, source_parent.supplier, source_doc.name, doctype
|
||||||
)
|
)
|
||||||
@@ -587,7 +601,7 @@ def get_filters(
|
|||||||
return filters
|
return filters
|
||||||
|
|
||||||
|
|
||||||
def get_returned_serial_nos(child_doc, parent_doc):
|
def get_returned_serial_nos(child_doc, parent_doc, serial_no_field="serial_no"):
|
||||||
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
||||||
|
|
||||||
return_ref_field = frappe.scrub(child_doc.doctype)
|
return_ref_field = frappe.scrub(child_doc.doctype)
|
||||||
@@ -596,7 +610,7 @@ def get_returned_serial_nos(child_doc, parent_doc):
|
|||||||
|
|
||||||
serial_nos = []
|
serial_nos = []
|
||||||
|
|
||||||
fields = ["`{0}`.`serial_no`".format("tab" + child_doc.doctype)]
|
fields = [f"`{'tab' + child_doc.doctype}`.`{serial_no_field}`"]
|
||||||
|
|
||||||
filters = [
|
filters = [
|
||||||
[parent_doc.doctype, "return_against", "=", parent_doc.name],
|
[parent_doc.doctype, "return_against", "=", parent_doc.name],
|
||||||
@@ -606,6 +620,6 @@ def get_returned_serial_nos(child_doc, parent_doc):
|
|||||||
]
|
]
|
||||||
|
|
||||||
for row in frappe.get_all(parent_doc.doctype, fields=fields, filters=filters):
|
for row in frappe.get_all(parent_doc.doctype, fields=fields, filters=filters):
|
||||||
serial_nos.extend(get_serial_nos(row.serial_no))
|
serial_nos.extend(get_serial_nos(row.get(serial_no_field)))
|
||||||
|
|
||||||
return serial_nos
|
return serial_nos
|
||||||
|
|||||||
Reference in New Issue
Block a user