Merge pull request #50046 from frappe/mergify/bp/version-15-hotfix/pr-49939

fix: preserve address if present (backport #49939)
This commit is contained in:
Diptanil Saha
2025-10-13 16:41:48 +05:30
committed by GitHub
2 changed files with 20 additions and 17 deletions

View File

@@ -171,13 +171,15 @@ erpnext.buying = {
shipping_address: this.frm.doc.shipping_address shipping_address: this.frm.doc.shipping_address
}, },
callback: (r) => { callback: (r) => {
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")) return; if (
this.frm.set_value( !frappe.meta.has_field(this.frm.doc.doctype, "shipping_address") ||
"shipping_address", this.frm.doc.shipping_address
r.message.shipping_address || this.frm.doc.shipping_address || "" )
); return;
this.frm.set_value("shipping_address", r.message.shipping_address || "");
}, },
}); });
erpnext.utils.set_letter_head(this.frm) erpnext.utils.set_letter_head(this.frm)

View File

@@ -1022,19 +1022,20 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
} else { } else {
set_pricing(); set_pricing();
} }
};
} if (
frappe.meta.get_docfield(this.frm.doctype, "shipping_address") &&
if (frappe.meta.get_docfield(this.frm.doctype, "shipping_address") && ["Purchase Order", "Purchase Receipt", "Purchase Invoice"].includes(this.frm.doctype) &&
['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); ) {
let 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() {
set_party_account(set_pricing);
});
}
if (!is_drop_ship) {
erpnext.utils.get_shipping_address(this.frm, function() {
set_party_account(set_pricing);
});
}
} else { } else {
set_party_account(set_pricing); set_party_account(set_pricing);
} }