Merge pull request #2019 from anandpdoshi/anand-august-1

Account Issues
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
index ccd5ace..9174873 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
+++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
@@ -7,6 +7,7 @@
 	onload: function() {
 		this.load_defaults();
 		this.setup_queries();
+		this.setup_balance_formatter();
 	},
 
 	onload_post_render: function() {
@@ -66,6 +67,18 @@
 		});
 	},
 
+	setup_balance_formatter: function() {
+		var df = frappe.meta.get_docfield("Journal Voucher Detail", "balance", this.frm.doc.name);
+		df.formatter = function(value, df, options, doc) {
+			var currency = frappe.meta.get_field_currency(df, doc);
+			var dr_or_cr = value ? ('<label>' + (value > 0.0 ? __("Dr") : __("Cr")) + '</label>') : "";
+			return "<div style='text-align: right'>"
+				+ ((value==null || value==="") ? "" : format_currency(Math.abs(value), currency))
+				+ " " + dr_or_cr
+				+ "</div>";
+		}
+	},
+
 	against_voucher: function(doc, cdt, cdn) {
 		var d = frappe.get_doc(cdt, cdn);
 		if (d.against_voucher && !flt(d.debit)) {
@@ -108,7 +121,6 @@
 			}
 		});
 	}
-
 });
 
 cur_frm.script_manager.make(erpnext.accounts.JournalVoucher);
diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
index 82d3a7d..14bd47b 100644
--- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
+++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -263,7 +263,7 @@
    "print_hide": 1, 
    "print_width": "120px", 
    "read_only": 0, 
-   "reqd": 0, 
+   "reqd": 1, 
    "width": "120px"
   }, 
   {
@@ -448,7 +448,7 @@
  ], 
  "idx": 1, 
  "istable": 1, 
- "modified": "2014-07-24 05:53:05.889457", 
+ "modified": "2014-08-01 06:14:28.707601", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Sales Invoice Item", 
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 25a8adf..5f364e3 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -45,11 +45,8 @@
 		account = frappe.form_dict.get("account")
 		date = frappe.form_dict.get("date")
 
-	acc = frappe.db.get_value('Account', account, \
-		['lft', 'rgt', 'report_type', 'group_or_ledger'], as_dict=1)
-
-	if not acc:
-		frappe.throw(_("Account {0} does not exist").format(account), frappe.DoesNotExistError)
+	acc = frappe.get_doc("Account", account)
+	acc.check_permission("read")
 
 	cond = []
 	if date: