Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index 5cc09a0..9532a54 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -307,35 +307,27 @@
);
}
-
-
-// Make Bank Voucher Button
-// -------------------------
-cur_frm.cscript.make_bank_voucher = function(doc, dt, dn) {
- $c('accounts.get_default_bank_account', { company: cur_frm.doc.company }, function(r, rt) {
- if(!r.exc) {
- cur_frm.cscript.make_jv(cur_frm.doc, null, null, r.message);
+cur_frm.cscript.make_bank_voucher = function() {
+ wn.call({
+ method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
+ args: {
+ "company": cur_frm.doc.company,
+ "voucher_type": "Bank Voucher"
+ },
+ callback: function(r) {
+ cur_frm.cscript.make_jv(cur_frm.doc, null, null, r.message);
}
});
}
-
-/* ***************************** Get Query Functions ************************** */
-
-// Debit To
-// ---------
cur_frm.fields_dict.debit_to.get_query = function(doc) {
return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
}
-// Cash/bank account
-//------------------
cur_frm.fields_dict.cash_bank_account.get_query = function(doc) {
return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
}
-// Write off account
-//------------------
cur_frm.fields_dict.write_off_account.get_query = function(doc) {
return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "Yes" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
}
@@ -429,17 +421,24 @@
cur_frm.cscript.income_account = function(doc, cdt, cdn){
+ cur_frm.cscript.copy_account_in_all_row(doc, cdt, cdn, "income_account");
+}
+
+cur_frm.cscript.expense_account = function(doc, cdt, cdn){
+ cur_frm.cscript.copy_account_in_all_row(doc, cdt, cdn, "expense_account");
+}
+
+cur_frm.cscript.copy_account_in_all_row = function(doc, cdt, cdn, fieldname) {
var d = locals[cdt][cdn];
- if(d.income_account){
+ if(d[fieldname]){
var cl = getchildren('Sales Invoice Item', doc.name, cur_frm.cscript.fname, doc.doctype);
for(var i = 0; i < cl.length; i++){
- if(!cl[i].income_account) cl[i].income_account = d.income_account;
+ if(!cl[i][fieldname]) cl[i][fieldname] = d[fieldname];
}
}
refresh_field(cur_frm.cscript.fname);
}
-
cur_frm.cscript.cost_center = function(doc, cdt, cdn){
var d = locals[cdt][cdn];
if(d.cost_center){
@@ -451,10 +450,6 @@
refresh_field(cur_frm.cscript.fname);
}
-/* **************************************** Utility Functions *************************************** */
-
-// Details Calculation
-// --------------------
cur_frm.cscript.calc_adjustment_amount = function(doc,cdt,cdn) {
var doc = locals[doc.doctype][doc.name];
var el = getchildren('Sales Invoice Advance',doc.name,'advance_adjustment_details');
@@ -488,8 +483,9 @@
// credit to bank
var d1 = wn.model.add_child(jv, 'Journal Voucher Detail', 'entries');
- d1.account = bank_account;
+ d1.account = bank_account.account;
d1.debit = doc.outstanding_amount;
+ d1.balance = bank_account.balance;
loaddoc('Journal Voucher', jv.name);
}
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index a8f7685..9b17fc0 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -318,13 +318,11 @@
@property
def pos_details(self):
if not hasattr(self, "_pos_details"):
- dtl = webnotes.conn.sql("""select income_account, warehouse, cost_center,
- expense_account from `tabPOS Setting` where user = %s and company = %s""",
- (webnotes.session['user'], self.doc.company), as_dict=1)
+ dtl = webnotes.conn.sql("""select * from `tabPOS Setting` where user = %s
+ and company = %s""", (webnotes.session['user'], self.doc.company), as_dict=1)
if not dtl:
- dtl = webnotes.conn.sql("""select income_account, warehouse, cost_center,
- expense_account from `tabPOS Setting` where ifnull(user,'') = ''
- and company = %s""", self.doc.company, as_dict=1)
+ dtl = webnotes.conn.sql("""select * from `tabPOS Setting`
+ where ifnull(user,'') = '' and company = %s""", self.doc.company, as_dict=1)
self._pos_details = dtl
return self._pos_details
diff --git a/stock/doctype/delivery_note/delivery_note.js b/stock/doctype/delivery_note/delivery_note.js
index c7feb1b..61df6b0 100644
--- a/stock/doctype/delivery_note/delivery_note.js
+++ b/stock/doctype/delivery_note/delivery_note.js
@@ -310,6 +310,17 @@
}
}
+cur_frm.cscript.expense_account = function(doc, cdt, cdn){
+ var d = locals[cdt][cdn];
+ if(d.expense_account) {
+ var cl = getchildren('Delivery Note Item', doc.name, cur_frm.cscript.fname, doc.doctype);
+ for(var i = 0; i < cl.length; i++){
+ if(!cl[i].expense_account) cl[i].expense_account = d.expense_account;
+ }
+ }
+ refresh_field(cur_frm.cscript.fname);
+}
+
// expense account
cur_frm.fields_dict['delivery_note_details'].grid.get_field('expense_account').get_query = function(doc) {
return {