fix: sync open reference forms after Quality Inspection updates them

update_qc_reference() writes the QI link and bumps the reference
document's modified timestamp via raw db writes, which emit no realtime
event. A reference form (Purchase Receipt, Delivery Note, Stock Entry,
Job Card) still open in the browser keeps the old timestamp and fails
the timestamp conflict check on the next save/submit, forcing a manual
refresh after every QI submit/cancel/delete.

Calling notify_update() on the reference publishes the standard
doc_update event, so an open, unedited form silently reloads and syncs
its timestamp. get_lazy_doc skips child table loading since
notify_update only needs the parent row.

(cherry picked from commit 647452c95b)
This commit is contained in:
Mihir Kandoi
2026-08-09 15:45:07 +05:30
committed by Mergify
parent db4f6db753
commit c1d198d205

View File

@@ -253,6 +253,9 @@ class QualityInspection(Document):
self.modified,
)
if self.reference_type and self.reference_name:
frappe.get_lazy_doc(self.reference_type, self.reference_name).notify_update()
def inspect_and_set_status(self):
for reading in self.readings:
if not reading.manual_inspection: # dont auto set status if manual