fix: Correct company address not getting copied from Purchase Order to Invoice (#27217)
* fix: Correct company adderess not getting copied from Purchase Order to Invoice
* fix: Linting issues
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 2538852..5f8966f 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -866,21 +866,25 @@
if (frappe.meta.get_docfield(this.frm.doctype, "shipping_address") &&
in_list(['Purchase Order', 'Purchase Receipt', 'Purchase Invoice'], this.frm.doctype)) {
- erpnext.utils.get_shipping_address(this.frm, function(){
+ erpnext.utils.get_shipping_address(this.frm, function() {
set_party_account(set_pricing);
});
// Get default company billing address in Purchase Invoice, Order and Receipt
- frappe.call({
- 'method': 'frappe.contacts.doctype.address.address.get_default_address',
- 'args': {
- 'doctype': 'Company',
- 'name': this.frm.doc.company
- },
- 'callback': function(r) {
- me.frm.set_value('billing_address', r.message);
- }
- });
+ if (this.frm.doc.company && frappe.meta.get_docfield(this.frm.doctype, "billing_address")) {
+ frappe.call({
+ method: "erpnext.setup.doctype.company.company.get_default_company_address",
+ args: {name: this.frm.doc.company, existing_address: this.frm.doc.billing_address || ""},
+ debounce: 2000,
+ callback: function(r) {
+ if (r.message) {
+ me.frm.set_value("billing_address", r.message);
+ } else {
+ me.frm.set_value("company_address", "");
+ }
+ }
+ });
+ }
} else {
set_party_account(set_pricing);
diff --git a/erpnext/public/js/utils/party.js b/erpnext/public/js/utils/party.js
index 4d432e3..a492b32 100644
--- a/erpnext/public/js/utils/party.js
+++ b/erpnext/public/js/utils/party.js
@@ -289,8 +289,8 @@
company: frm.doc.company,
address: frm.doc.shipping_address
},
- callback: function(r){
- if (r.message){
+ callback: function(r) {
+ if (r.message) {
frm.set_value("shipping_address", r.message[0]) //Address title or name
frm.set_value("shipping_address_display", r.message[1]) //Address to be displayed on the page
}