Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.py b/accounts/page/voucher_import_tool/voucher_import_tool.py
index 4eb98bb..142b8b9 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.py
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.py
@@ -206,7 +206,7 @@
if accounts:
total_debit = total_credit = 0
for acc_idx in xrange(len(accounts)):
- col_idx = len(columns) - 1 + acc_idx
+ col_idx = len(columns) + acc_idx
if flt(r[col_idx]) != 0:
if not acc_dict.get(accounts[acc_idx]):
acc_dict[accounts[acc_idx]] = 0
@@ -215,7 +215,7 @@
total_debit += flt(r[col_idx])
else:
total_credit += abs(flt(r[col_idx]))
-
+
d['total_debit'] = total_debit
d['total_credit'] = total_credit
@@ -227,5 +227,9 @@
columns = [c.replace(" ", "_").lower() for c in rows[i+1]
if not c.endswith(" - " + company_abbr)]
accounts = [c for c in rows[i+1] if c.endswith(" - " + company_abbr)]
-
+
+ if accounts and (len(columns) != rows[i+1].index(accounts[0])):
+ raise Exception, """A non-account column cannot be after an account \
+ column. Please rectify it in the file and try again."""
+
return data, start_row_idx
\ No newline at end of file
diff --git a/selling/doctype/sales_common/sales_common.js b/selling/doctype/sales_common/sales_common.js
index 65112b5..4807dc1 100644
--- a/selling/doctype/sales_common/sales_common.js
+++ b/selling/doctype/sales_common/sales_common.js
@@ -29,6 +29,8 @@
if(callback) {
callback(doc, cdt, cdn);
}
+ } else if(doc.charge) {
+ cur_frm.cscript.get_charges(doc, cdt, cdn, callback);
} else {
$c_obj(make_doclist(doc.doctype, doc.name),'load_default_taxes','',function(r,rt){
refresh_field('other_charges');
@@ -374,12 +376,14 @@
}
// ********************* Get Charges ****************************
-cur_frm.cscript.get_charges = function(doc, cdt, cdn) {
+cur_frm.cscript.get_charges = function(doc, cdt, cdn, callback) {
$c_obj(make_doclist(doc.doctype,doc.name),
'get_other_charges',
'',
- function(r, rt) { cur_frm.cscript.calculate_charges(doc, cdt, cdn);}
- ,null,null,cur_frm.fields_dict.get_charges.input);
+ function(r, rt) {
+ cur_frm.cscript.calculate_charges(doc, cdt, cdn);
+ if(callback) callback(doc, cdt, cdn);
+ }, null,null,cur_frm.fields_dict.get_charges.input);
}