From 4166c352772b2afb060fdf9e0f12a9884346c8c9 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Jul 2013 15:14:59 +0530 Subject: [PATCH] [fix] [minor] over billing validation against delivery note --- .../doctype/sales_invoice/sales_invoice.py | 2 +- controllers/accounts_controller.py | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py index 76e87b6564..3859595e33 100644 --- a/accounts/doctype/sales_invoice/sales_invoice.py +++ b/accounts/doctype/sales_invoice/sales_invoice.py @@ -91,7 +91,7 @@ class DocType(SellingController): self.validate_c_form() self.validate_time_logs_are_submitted() self.validate_recurring_invoice() - self.validate_multiple_billing("Delivered Note", "dn_detail", "export_amount") + self.validate_multiple_billing("Delivery Note", "dn_detail", "export_amount") def on_submit(self): if cint(self.doc.update_stock) == 1: diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py index acb6077759..abefb9bc3d 100644 --- a/controllers/accounts_controller.py +++ b/controllers/accounts_controller.py @@ -17,7 +17,7 @@ from __future__ import unicode_literals import webnotes from webnotes import _, msgprint -from webnotes.utils import flt, cint, today +from webnotes.utils import flt, cint, today, cstr from setup.utils import get_company_currency, get_price_list_currency from accounts.utils import get_fiscal_year, validate_fiscal_year from utilities.transaction_base import TransactionBase, validate_conversion_rate @@ -375,15 +375,15 @@ class AccountsController(TransactionBase): already_billed = webnotes.conn.sql("""select sum(%s) from `tab%s` where %s=%s and docstatus=1""" % (based_on, self.tname, item_ref_dn, '%s'), item.fields[item_ref_dn])[0][0] - if already_billed: - max_allowed_amt = webnotes.conn.get_value(ref_dt + " Item", - item.fields[item_ref_dn], based_on) - - if flt(already_billed) + flt(item.fields[based_on]) > max_allowed_amt: - webnotes.msgprint(_("Row ")+ item.idx + ": " + item.item_code + - _(" will be over-billed against mentioned ") + ref_dt + - _(". Max allowed " + based_on + ": " + max_allowed_amt), - raise_exception=1) + + max_allowed_amt = webnotes.conn.get_value(ref_dt + " Item", + item.fields[item_ref_dn], based_on) + + if flt(already_billed) + flt(item.fields[based_on]) > max_allowed_amt: + webnotes.msgprint(_("Row ")+ cstr(item.idx) + ": " + cstr(item.item_code) + + _(" will be over-billed against mentioned ") + cstr(ref_dt) + + _(". Max allowed " + cstr(based_on) + ": " + cstr(max_allowed_amt)), + raise_exception=1) def get_company_default(self, fieldname): from accounts.utils import get_company_default