fix: incorrect validation thrown for drop shipped PI (#54751)

This commit is contained in:
Mihir Kandoi
2026-05-06 11:00:14 +05:30
committed by GitHub
parent 7028034cd6
commit 907a809f3f
6 changed files with 33 additions and 12 deletions

View File

@@ -25,15 +25,15 @@ erpnext.buying = {
};
});
const project_filters = {
const get_project_filters = () => ({
query: "erpnext.controllers.queries.get_project_name",
filters: {
company: doc.company,
company: this.frm.doc.company,
},
};
});
this.frm.set_query("project", (_) => project_filters);
this.frm.set_query("project", "items", (_, __, ___) => project_filters);
this.frm.set_query("project", get_project_filters);
this.frm.set_query("project", "items", get_project_filters);
if (
this.frm.doc.__islocal &&
@@ -174,9 +174,14 @@ erpnext.buying = {
callback: (r) => {
if (!r.message) return;
this.frm.set_value("billing_address", r.message.primary_address || "");
if (!this.frm.doc.billing_address) {
this.frm.set_value("billing_address", r.message.primary_address || "");
}
if (frappe.meta.has_field(this.frm.doc.doctype, "shipping_address")) {
if (
frappe.meta.has_field(this.frm.doc.doctype, "shipping_address") &&
!this.frm.doc.shipping_address
) {
this.frm.set_value("shipping_address", r.message.shipping_address || "");
}
},

View File

@@ -1291,7 +1291,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
["Purchase Order", "Purchase Receipt", "Purchase Invoice"].includes(this.frm.doctype) &&
!this.frm.doc.shipping_address
) {
let is_drop_ship = me.frm.doc.items.some((item) => item.delivered_by_supplier);
const is_drop_ship = me.frm.doc.items.some((item) => item.delivered_by_supplier);
if (!is_drop_ship) {
erpnext.utils.get_shipping_address(this.frm, function () {

View File

@@ -106,15 +106,19 @@ $.extend(erpnext.queries, {
});
}
let filters = { link_doctype: "Company", link_name: doc.company || "" };
const is_drop_ship = doc.items.some((item) => item.delivered_by_supplier);
if (is_drop_ship) filters = {};
return {
query: "frappe.contacts.doctype.address.address.address_query",
filters: { link_doctype: "Company", link_name: doc.company },
filters: filters,
};
},
dispatch_address_query: function (doc) {
var filters = { link_doctype: "Company", link_name: doc.company || "" };
var is_drop_ship = doc.items.some((item) => item.delivered_by_supplier);
let filters = { link_doctype: "Company", link_name: doc.company || "" };
const is_drop_ship = doc.items.some((item) => item.delivered_by_supplier);
if (is_drop_ship) filters = {};
return {
query: "frappe.contacts.doctype.address.address.address_query",