For example I have this custom script in purchase receipt and I want to update or save certain fields in the purchase order. How to reload purchase order in python?
@frappe.whitelist()
def update_per_receive(data, field):
data = frappe.parse_json(data)
if isinstance(data, dict):
data = [data]
for d in data:
if d.get("is_cancelled") == 1:
po_doc = frappe.get_doc("Purchase Order", d.get("document", ""))
if d.get("pr_total_qty") == d.get("po_total_qty"):
po_doc.set(field, 100)
elif d.get("po_total_qty") > 0:
po_doc.set(field, (d.get("pr_total_qty") / d.get("po_total_qty")) * 100)
else:
po_doc.set(field, 0)
po_doc.save(ignore_permissions=True)
#reload purchase order document
frappe.db.commit()