[Minor Fix] Force toggle display Net Total field when default taxes are fetched (#15532)
* Minor fix for the problem that Net Total, Net Rate, Net Amount field would not be shown when default taxes were fetched * Prevent net_rate from becoming NaN * -Fixed problem that party_account_currency was not set in mapped document -Fixed problem that discount amount was not recalculated (in mapped document) -Fixed problem that set_dynamic_fields would work only on certain condition that led to showing Total (Company Currency) field even when using company currency
This commit is contained in:
parent
25edac451d
commit
3c9155e406
@ -123,6 +123,7 @@ class PurchaseInvoice(BuyingController):
|
|||||||
def set_missing_values(self, for_validate=False):
|
def set_missing_values(self, for_validate=False):
|
||||||
if not self.credit_to:
|
if not self.credit_to:
|
||||||
self.credit_to = get_party_account("Supplier", self.supplier, self.company)
|
self.credit_to = get_party_account("Supplier", self.supplier, self.company)
|
||||||
|
self.party_account_currency = frappe.db.get_value("Account", self.credit_to, "account_currency", cache=True)
|
||||||
if not self.due_date:
|
if not self.due_date:
|
||||||
self.due_date = get_due_date(self.posting_date, "Supplier", self.supplier, self.company, self.bill_date)
|
self.due_date = get_due_date(self.posting_date, "Supplier", self.supplier, self.company, self.bill_date)
|
||||||
|
|
||||||
|
@ -310,6 +310,7 @@ class SalesInvoice(SellingController):
|
|||||||
|
|
||||||
if not self.debit_to:
|
if not self.debit_to:
|
||||||
self.debit_to = get_party_account("Customer", self.customer, self.company)
|
self.debit_to = get_party_account("Customer", self.customer, self.company)
|
||||||
|
self.party_account_currency = frappe.db.get_value("Account", self.debit_to, "account_currency", cache=True)
|
||||||
if not self.due_date and self.customer:
|
if not self.due_date and self.customer:
|
||||||
self.due_date = get_due_date(self.posting_date, "Customer", self.customer, self.company)
|
self.due_date = get_due_date(self.posting_date, "Customer", self.customer, self.company)
|
||||||
|
|
||||||
|
@ -70,6 +70,7 @@ class calculate_taxes_and_totals(object):
|
|||||||
if item.rate_with_margin > 0 else item.rate
|
if item.rate_with_margin > 0 else item.rate
|
||||||
|
|
||||||
item.net_rate = item.rate
|
item.net_rate = item.rate
|
||||||
|
item.discount_amount = item.price_list_rate - item.rate
|
||||||
item.amount = flt(item.rate * item.qty, item.precision("amount"))
|
item.amount = flt(item.rate * item.qty, item.precision("amount"))
|
||||||
item.net_amount = item.amount
|
item.net_amount = item.amount
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ erpnext.taxes_and_totals = erpnext.payments.extend({
|
|||||||
|
|
||||||
if(cumulated_tax_fraction && !me.discount_amount_applied) {
|
if(cumulated_tax_fraction && !me.discount_amount_applied) {
|
||||||
item.net_amount = flt(item.amount / (1 + cumulated_tax_fraction));
|
item.net_amount = flt(item.amount / (1 + cumulated_tax_fraction));
|
||||||
item.net_rate = flt(item.net_amount / item.qty, precision("net_rate", item));
|
item.net_rate = item.qty ? flt(item.net_amount / item.qty, precision("net_rate", item)) : 0;
|
||||||
|
|
||||||
me.set_in_company_currency(item, ["net_rate", "net_amount"]);
|
me.set_in_company_currency(item, ["net_rate", "net_amount"]);
|
||||||
}
|
}
|
||||||
@ -521,7 +521,7 @@ erpnext.taxes_and_totals = erpnext.payments.extend({
|
|||||||
item.net_amount = flt(item.net_amount + discount_amount_loss,
|
item.net_amount = flt(item.net_amount + discount_amount_loss,
|
||||||
precision("net_amount", item));
|
precision("net_amount", item));
|
||||||
}
|
}
|
||||||
item.net_rate = flt(item.net_amount / item.qty, precision("net_rate", item));
|
item.net_rate = item.qty ? flt(item.net_amount / item.qty, precision("net_rate", item)) : 0;
|
||||||
me.set_in_company_currency(item, ["net_rate", "net_amount"]);
|
me.set_in_company_currency(item, ["net_rate", "net_amount"]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -286,6 +286,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
me.frm.set_value("taxes", r.message.taxes);
|
me.frm.set_value("taxes", r.message.taxes);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
() => me.set_dynamic_labels(),
|
||||||
() => me.calculate_taxes_and_totals()
|
() => me.calculate_taxes_and_totals()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -845,16 +846,10 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
this.frm.toggle_reqd("plc_conversion_rate",
|
this.frm.toggle_reqd("plc_conversion_rate",
|
||||||
!!(this.frm.doc.price_list_name && this.frm.doc.price_list_currency));
|
!!(this.frm.doc.price_list_name && this.frm.doc.price_list_currency));
|
||||||
|
|
||||||
if(this.frm.doc_currency!==this.frm.doc.currency
|
var company_currency = this.get_company_currency();
|
||||||
|| this.frm.doc_currency!==this.frm.doc.price_list_currency) {
|
this.change_form_labels(company_currency);
|
||||||
// reset names only when the currency is different
|
this.change_grid_labels(company_currency);
|
||||||
|
this.frm.refresh_fields();
|
||||||
var company_currency = this.get_company_currency();
|
|
||||||
this.change_form_labels(company_currency);
|
|
||||||
this.change_grid_labels(company_currency);
|
|
||||||
this.frm.refresh_fields();
|
|
||||||
this.frm.doc_currency = this.frm.doc.currency;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
change_form_labels: function(company_currency) {
|
change_form_labels: function(company_currency) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user