// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt // tree of chart of accounts / cost centers // multiple companies // add node // edit node // see ledger pscript['onload_Accounts Browser'] = function(wrapper){ frappe.ui.make_app_page({ parent: wrapper, single_column: true }) wrapper.appframe.add_module_icon("Accounts"); var main = $(wrapper).find(".layout-main"), chart_area = $("
") .css({"margin-bottom": "15px", "min-height": "200px"}) .appendTo(main), help_area = $('
'+ '

'+__('Quick Help')+'

'+ '
    '+ '
  1. '+__('To add child nodes, explore tree and click on the node under which you want to add more nodes.')+'
  2. '+ '
  3. '+ __('Accounting Entries can be made against leaf nodes, called')+ ' ' +__('Ledgers')+'. '+ __('Entries against ') + '' +__('Groups') + ' '+ __('are not allowed.')+ '
  4. '+ '
  5. '+__('Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.')+'
  6. '+ '
  7. '+ ''+__('To create a Bank Account')+': '+ __('Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type "Bank"')+ '
  8. '+ '
  9. '+ ''+__('To create a Tax Account') +': '+ __('Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type "Tax" and do mention the Tax rate.')+ '
  10. '+ '
'+ '

'+__('Please setup your chart of accounts before you start Accounting Entries')+'

').appendTo(main); if (frappe.boot.user.can_create.indexOf("Company") !== -1) { wrapper.appframe.add_button(__('New Company'), function() { newdoc('Company'); }, 'icon-plus'); } wrapper.appframe.set_title_right('Refresh', function() { wrapper.$company_select.change(); }); // company-select wrapper.$company_select = wrapper.appframe.add_select("Company", []) .change(function() { var ctype = frappe.get_route()[1] || 'Account'; erpnext.account_chart = new erpnext.AccountsChart(ctype, $(this).val(), chart_area.get(0)); pscript.set_title(wrapper, ctype, $(this).val()); }) // load up companies return frappe.call({ method: 'erpnext.accounts.page.accounts_browser.accounts_browser.get_companies', callback: function(r) { wrapper.$company_select.empty(); $.each(r.message, function(i, v) { $('