[perpetual accounting] validate expense account in stock reconciliation

This commit is contained in:
Nabin Hait 2013-08-08 10:51:59 +05:30
parent 815a49e027
commit 95c748eb67
3 changed files with 21 additions and 11 deletions

View File

@ -30,6 +30,7 @@ erpnext.stock.StockReconciliation = erpnext.stock.StockController.extend({
var me = this;
if (sys_defaults.perpetual_accounting) {
this.frm.add_fetch("company", "stock_adjustment_account", "expense_account");
this.frm.add_fetch("company", "cost_center", "cost_center");
this.frm.fields_dict["expense_account"].get_query = function() {
return {

View File

@ -17,6 +17,7 @@ class DocType(StockController):
def validate(self):
self.validate_data()
self.validate_expense_account()
def on_submit(self):
self.insert_stock_ledger_entries()
@ -299,12 +300,7 @@ class DocType(StockController):
def make_gl_entries(self):
if not cint(webnotes.defaults.get_global_default("perpetual_accounting")):
return
if not self.doc.expense_account:
msgprint(_("Please enter Expense Account"), raise_exception=1)
else:
self.validate_expense_account()
if not self.doc.cost_center:
msgprint(_("Please enter Cost Center"), raise_exception=1)
@ -327,13 +323,19 @@ class DocType(StockController):
self.sync_stock_account_balance(warehouse_list, self.doc.cost_center)
def validate_expense_account(self):
if not webnotes.conn.sql("select * from `tabStock Ledger Entry`"):
if not cint(webnotes.defaults.get_global_default("perpetual_accounting")):
return
if not self.doc.expense_account:
msgprint(_("Please enter Expense Account"), raise_exception=1)
elif not webnotes.conn.sql("""select * from `tabStock Ledger Entry`
where ifnull(is_cancelled, 'No') = 'No'"""):
if webnotes.conn.get_value("Account", self.doc.expense_account,
"is_pl_account") == "Yes":
msgprint(_("""Expense Account can not be a PL Account, as this stock \
reconciliation is an opening entry. Please select 'Temporary Liability' or \
relevant account"""), raise_exception=1)
reconciliation is an opening entry. \
Please select 'Temporary Account (Liabilities)' or relevant account"""),
raise_exception=1)
@webnotes.whitelist()
def upload():

View File

@ -2,7 +2,7 @@
{
"creation": "2013-03-28 10:35:31",
"docstatus": 0,
"modified": "2013-08-07 11:14:17",
"modified": "2013-08-07 18:16:18",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -109,6 +109,13 @@
"label": "Expense Account",
"options": "Account"
},
{
"doctype": "DocField",
"fieldname": "cost_center",
"fieldtype": "Link",
"label": "Cost Center",
"options": "Cost Center"
},
{
"doctype": "DocField",
"fieldname": "col1",