Similar use case… Sales Invoice → items - filter UOM field based on Item selected in row.
frappe.ui.form.on("Sales Invoice", {
setup: function (frm) {
frm.set_query("uom", "items", function (doc, cdt, cdn) {
let row = locals[cdt][cdn];
return {
query:
"erpnext.accounts.doctype.pricing_rule.pricing_rule.get_item_uoms",
filters: {
value: row.item_code,
apply_on: "Item Code",
},
};
});
},
});
related discussion:
https://discuss.frappe.io/t/filter-link-based-on-child-table-field-on-other-doctype/25898/5
In Erpnext: