fix: set is_return & return_against in POS Invoice Reference table

This commit is contained in:
Saqib Ansari 2022-03-25 10:51:30 +05:30
parent 1b556d1c53
commit 16253a2f72
2 changed files with 39 additions and 0 deletions

View File

@ -361,3 +361,4 @@ erpnext.patches.v14_0.delete_non_profit_doctypes
erpnext.patches.v14_0.update_employee_advance_status
erpnext.patches.v13_0.add_cost_center_in_loans
erpnext.patches.v13_0.remove_unknown_links_to_prod_plan_items
erpnext.patches.v13_0.set_return_against_in_pos_invoice_references

View File

@ -0,0 +1,38 @@
import frappe
def execute():
'''
Fetch and Set is_return & return_against from POS Invoice in POS Invoice References table.
'''
POSClosingEntry = frappe.qb.DocType("POS Closing Entry")
open_pos_closing_entries = (
frappe.qb
.from_(POSClosingEntry)
.select(POSClosingEntry.name)
.where(POSClosingEntry.docstatus == 0)
.run(pluck=True)
)
if not open_pos_closing_entries:
return
POSInvoiceReference = frappe.qb.DocType("POS Invoice Reference")
POSInvoice = frappe.qb.DocType("POS Invoice")
pos_invoice_references = (
frappe.qb
.from_(POSInvoiceReference)
.join(POSInvoice)
.on(POSInvoiceReference.pos_invoice == POSInvoice.name)
.select(POSInvoiceReference.name, POSInvoice.is_return, POSInvoice.return_against)
.where(POSInvoiceReference.parent.isin(open_pos_closing_entries))
.run(as_dict=True)
)
for row in pos_invoice_references:
frappe.db.set_value("POS Invoice Reference", row.name, "is_return", row.is_return)
if row.is_return:
frappe.db.set_value("POS Invoice Reference", row.name, "return_against", row.return_against)
else:
frappe.db.set_value("POS Invoice Reference", row.name, "return_against", None)