Merge pull request #2074 from neilLasrado/purchase-invoice-fix

[fix] frappe/erpnext#1510
This commit is contained in:
Anand Doshi 2014-08-25 12:51:16 +05:30
commit bb6b58c271
2 changed files with 11 additions and 21 deletions

View File

@ -117,7 +117,7 @@
"search_index": 1
},
{
"description": "If not applicable please enter: NA",
"description": "",
"fieldname": "bill_no",
"fieldtype": "Data",
"in_filter": 1,
@ -127,7 +127,7 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 1,
"reqd": 0,
"search_index": 1
},
{
@ -758,7 +758,7 @@
"icon": "icon-file-text",
"idx": 1,
"is_submittable": 1,
"modified": "2014-08-12 05:25:16.261614",
"modified": "2014-08-19 12:01:12.133942",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice",

View File

@ -47,7 +47,6 @@ class PurchaseInvoice(BuyingController):
self.pr_required()
self.check_active_purchase_items()
self.check_conversion_rate()
self.validate_bill_no()
self.validate_credit_acc()
self.clear_unallocated_advances("Purchase Invoice Advance", "advance_allocation_details")
self.check_for_acc_head_of_supplier()
@ -61,6 +60,14 @@ class PurchaseInvoice(BuyingController):
self.update_valuation_rate("entries")
self.validate_multiple_billing("Purchase Receipt", "pr_detail", "amount",
"purchase_receipt_details")
self.create_remarks()
def create_remarks(self):
if not self.remarks:
if self.bill_no and self.bill_date:
self.remarks = _("Against Supplier Invoice {0} dated {1}").format(self.bill_no, formatdate(self.bill_date))
else:
self.remarks = _("No Remarks")
def set_missing_values(self, for_validate=False):
if not self.credit_to:
@ -88,23 +95,6 @@ class PurchaseInvoice(BuyingController):
if (self.currency == default_currency and flt(self.conversion_rate) != 1.00) or not self.conversion_rate or (self.currency != default_currency and flt(self.conversion_rate) == 1.00):
throw(_("Conversion rate cannot be 0 or 1"))
def validate_bill_no(self):
if self.bill_no and self.bill_no.lower().strip() \
not in ['na', 'not applicable', 'none']:
b_no = frappe.db.sql("""select bill_no, name, ifnull(is_opening,'') from `tabPurchase Invoice`
where bill_no = %s and credit_to = %s and docstatus = 1 and name != %s""",
(self.bill_no, self.credit_to, self.name))
if b_no and cstr(b_no[0][2]) == cstr(self.is_opening):
throw(_("Bill No {0} already booked in Purchase Invoice {1}").format(cstr(b_no[0][0]),
cstr(b_no[0][1])))
if not self.remarks and self.bill_date:
self.remarks = (self.remarks or '') + "\n" \
+ _("Against Bill {0} dated {1}").format(self.bill_no, formatdate(self.bill_date))
if not self.remarks:
self.remarks = "No Remarks"
def validate_credit_acc(self):
if frappe.db.get_value("Account", self.credit_to, "report_type") != "Balance Sheet":
frappe.throw(_("Account must be a balance sheet account"))