Validate currency of default receivable/payable accounts
This commit is contained in:
@@ -76,7 +76,7 @@ class PurchaseInvoice(BuyingController):
|
|||||||
def get_advances(self):
|
def get_advances(self):
|
||||||
if not self.is_return:
|
if not self.is_return:
|
||||||
super(PurchaseInvoice, self).get_advances(self.credit_to, "Supplier", self.supplier,
|
super(PurchaseInvoice, self).get_advances(self.credit_to, "Supplier", self.supplier,
|
||||||
"Purchase Invoice Advance", "advances", "debit", "purchase_order")
|
"Purchase Invoice Advance", "advances", "debit_in_account_currency", "purchase_order")
|
||||||
|
|
||||||
def check_active_purchase_items(self):
|
def check_active_purchase_items(self):
|
||||||
for d in self.get('items'):
|
for d in self.get('items'):
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ class SalesInvoice(SellingController):
|
|||||||
def get_advances(self):
|
def get_advances(self):
|
||||||
if not self.is_return:
|
if not self.is_return:
|
||||||
super(SalesInvoice, self).get_advances(self.debit_to, "Customer", self.customer,
|
super(SalesInvoice, self).get_advances(self.debit_to, "Customer", self.customer,
|
||||||
"Sales Invoice Advance", "advances", "credit", "sales_order")
|
"Sales Invoice Advance", "advances", "credit_in_account_currency", "sales_order")
|
||||||
|
|
||||||
def get_company_abbr(self):
|
def get_company_abbr(self):
|
||||||
return frappe.db.sql("select abbr from tabCompany where name=%s", self.company)[0][0]
|
return frappe.db.sql("select abbr from tabCompany where name=%s", self.company)[0][0]
|
||||||
|
|||||||
@@ -225,10 +225,8 @@ def validate_party_accounts(doc):
|
|||||||
party_account_currency = frappe.db.get_value("Account", account.account, "account_currency")
|
party_account_currency = frappe.db.get_value("Account", account.account, "account_currency")
|
||||||
existing_gle_currency = get_party_gle_currency(doc.doctype, doc.name, account.company)
|
existing_gle_currency = get_party_gle_currency(doc.doctype, doc.name, account.company)
|
||||||
|
|
||||||
if party_account_currency != existing_gle_currency:
|
if existing_gle_currency and party_account_currency != existing_gle_currency:
|
||||||
frappe.throw(_("Accounting Entry against company: {0} can only be made in currency: {1}, please check default {2} account")
|
frappe.throw(_("Accounting entries have already been made in currency {0} for company {1}. Please select a receivable or payable account with currency {0}.").format(existing_gle_currency, account.company))
|
||||||
.format(account.company, existing_gle_currency,
|
|
||||||
"receivable" if doc.doctype=="Customer" else "payable"))
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_due_date(posting_date, party_type, party, company):
|
def get_due_date(posting_date, party_type, party, company):
|
||||||
|
|||||||
@@ -211,7 +211,8 @@ def update_against_doc(d, jv_obj):
|
|||||||
|
|
||||||
if d['allocated_amt'] < d['unadjusted_amt']:
|
if d['allocated_amt'] < d['unadjusted_amt']:
|
||||||
jvd = frappe.db.sql("""
|
jvd = frappe.db.sql("""
|
||||||
select cost_center, balance, against_account, is_advance, account_type, exchange_rate
|
select cost_center, balance, against_account, is_advance,
|
||||||
|
account_type, exchange_rate, account_currency
|
||||||
from `tabJournal Entry Account` where name = %s
|
from `tabJournal Entry Account` where name = %s
|
||||||
""", d['voucher_detail_no'], as_dict=True)
|
""", d['voucher_detail_no'], as_dict=True)
|
||||||
|
|
||||||
@@ -222,6 +223,7 @@ def update_against_doc(d, jv_obj):
|
|||||||
ch = jv_obj.append("accounts")
|
ch = jv_obj.append("accounts")
|
||||||
ch.account = d['account']
|
ch.account = d['account']
|
||||||
ch.account_type = jvd[0]['account_type']
|
ch.account_type = jvd[0]['account_type']
|
||||||
|
ch.account_currency = jvd[0]['account_currency']
|
||||||
ch.exchange_rate = jvd[0]['exchange_rate']
|
ch.exchange_rate = jvd[0]['exchange_rate']
|
||||||
ch.party_type = d["party_type"]
|
ch.party_type = d["party_type"]
|
||||||
ch.party = d["party"]
|
ch.party = d["party"]
|
||||||
|
|||||||
@@ -495,7 +495,8 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(this.frm.fields_dict["advances"]) {
|
if(this.frm.fields_dict["advances"]) {
|
||||||
setup_field_label_map(["advance_amount", "allocated_amount"], company_currency, "advances");
|
setup_field_label_map(["advance_amount", "allocated_amount"],
|
||||||
|
this.frm.doc.party_account_currency, "advances");
|
||||||
}
|
}
|
||||||
|
|
||||||
// toggle columns
|
// toggle columns
|
||||||
|
|||||||
Reference in New Issue
Block a user