From ce549ce9b27ffb301a6dc1dd7247ac78e2d89807 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Sun, 10 Sep 2023 17:10:04 +0530 Subject: [PATCH] fix(ux): filters for SCR Item `Serial and Batch Bundle` (#37013) --- .../subcontracting_receipt.js | 56 ++++++++++++++++--- 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js index dd071e605103..8ac22e6f1bf7 100644 --- a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js +++ b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js @@ -145,6 +145,14 @@ frappe.ui.form.on('Subcontracting Receipt', { } }); + frm.set_query('serial_and_batch_bundle', 'items', (doc, cdt, cdn) => { + return frm.events.get_serial_and_batch_bundle_filters(doc, cdt, cdn); + }); + + frm.set_query('rejected_serial_and_batch_bundle', 'items', (doc, cdt, cdn) => { + return frm.events.get_serial_and_batch_bundle_filters(doc, cdt, cdn); + }); + frm.set_query('batch_no', 'supplied_items', (doc, cdt, cdn) => { var row = locals[cdt][cdn]; return { @@ -166,24 +174,56 @@ frappe.ui.form.on('Subcontracting Receipt', { } }); - let sbb_field = frm.get_docfield('supplied_items', 'serial_and_batch_bundle'); - if (sbb_field) { - sbb_field.get_route_options_for_new_doc = (row) => { + let batch_no_field = frm.get_docfield('items', 'batch_no'); + if (batch_no_field) { + batch_no_field.get_route_options_for_new_doc = (row) => { return { - 'item_code': row.doc.rm_item_code, + 'item': row.doc.item_code + } + } + } + + let item_sbb_field = frm.get_docfield('items', 'serial_and_batch_bundle'); + if (item_sbb_field) { + item_sbb_field.get_route_options_for_new_doc = (row) => { + return { + 'item_code': row.doc.item_code, 'voucher_type': frm.doc.doctype, } } } - let batch_no_field = frm.get_docfield('items', 'batch_no'); - if (batch_no_field) { - batch_no_field.get_route_options_for_new_doc = (row) => { + let rejected_item_sbb_field = frm.get_docfield('items', 'rejected_serial_and_batch_bundle'); + if (rejected_item_sbb_field) { + rejected_item_sbb_field.get_route_options_for_new_doc = (row) => { return { - 'item': row.doc.item_code + 'item_code': row.doc.item_code, + 'voucher_type': frm.doc.doctype, } } } + + let rm_sbb_field = frm.get_docfield('supplied_items', 'serial_and_batch_bundle'); + if (rm_sbb_field) { + rm_sbb_field.get_route_options_for_new_doc = (row) => { + return { + 'item_code': row.doc.rm_item_code, + 'voucher_type': frm.doc.doctype, + } + } + } + }, + + get_serial_and_batch_bundle_filters: (doc, cdt, cdn) => { + let row = locals[cdt][cdn]; + return { + filters: { + 'item_code': row.item_code, + 'voucher_type': doc.doctype, + 'voucher_no': ['in', [doc.name, '']], + 'is_cancelled': 0, + } + } }, setup_quality_inspection: (frm) => {