pscript['onload_Accounts Browser']=function(){var parent=$i('ab_body');parent.innerHTML='Please select your chart: ' var sel=$a(parent,'select');add_sel_options(sel,['Account','Cost Center'],'Account');var btn=$btn(parent,'Go',function(){pscript.make_chart(sel_val(sel));},{marginTop:'8px'});} pscript.make_chart=function(b){pscript.chart_type=b;$i('ab_header').innerHTML='';$i('ab_body').innerHTML='';var comment=$a($i('ab_body'),'div','comment',{marginBottom:"8px"});comment.innerHTML="Note: Explore and click on the tree node to add a new child";var select_area=$a('ab_body','div','',{margin:'8px 0px'});var ac_main_grid=make_table($i('ab_body'),1,2,'100%',['60%','40%'],{border:"0px",padding:"4px",tableLayout:"fixed",borderCollapse:"collapse"});$y($td(ac_main_grid,0,0),{border:"1px solid #dddddd",padding:"8px"});pscript.account_tree=$a($td(ac_main_grid,0,0),'div');$y($td(ac_main_grid,0,1),{border:"1px solid #DDD"});pscript.la=$a($td(ac_main_grid,0,1),'div');pscript.acc_period_bal=$a($td(ac_main_grid,0,1),'div');if(pscript.chart_type=='Account'){var footer=$a($i('ab_body'),'div','',{backgroundColor:"#FFD",padding:"8px",color:"#444",fontSize:"12px",marginTop:"14px"});var help1=$a(footer,'span');help1.innerHTML="Note: To create accounts for Customers and Suppliers, please create Customer and Supplier" +" Masters. This will ensure that the accounts are linked to your Selling and Buying Processes. The Account Heads for Customer and Supplier will automatically be created."} var h1='Chart of '+pscript.chart_type+'s';if(pscript.chart_type=='Account')var d='accounting';else var d='cost center';var desc='Manage multiple companies and the '+d+' structures of each company.';$i('ab_body').page_head=new PageHeader('ab_header',h1,desc);var tab=make_table(select_area,1,2,null,[],{verticalAlign:'middle',padding:'2px'});$td(tab,0,0).innerHTML='Select Company'.bold();var sel=$a($td(tab,0,1),'select','',{width:'160px'});var set_tree=function(){if(pscript.ac_tree){pscript.ac_tree.body.innerHTML='';} pscript.make_ac_tree();var cn=sel_val(sel);var n=pscript.ac_tree.addNode(null,cn,null,pscript.ac_tree.std_onclick,pscript.ac_tree.std_onexp);n.rec={};n.rec.name='Root Node';n.rec.account_name=cn;n.rec.cost_center_name=cn;pscript.set_ac_head('',n.rec);$ds(pscript.ac_head_area);} add_sel_options(sel,['Loading...']);var callback=function(r,rt){empty_select(sel);add_sel_options(sel,r.message.cl,sys_defaults.company);set_tree();sel.onchange=function(){set_tree();}} $c_obj('GL Control','get_companies','',callback);pscript.ab_company_sel=sel;pscript.make_ac_head();pscript.make_group_area();pscript.make_ledger_area();pscript.make_new_acc_dialog();pscript.make_new_comp();pscript.make_new_cost_center_dialog();} pscript.make_new_comp=function(){$i('ab_body').page_head.add_button('New Company',function(){new_doc('Company');},0,'ui-icon-plus');} pscript.make_ac_tree=function(){var type=pscript.chart_type;var tree=new Tree(pscript.account_tree,'90%');pscript.ac_tree=tree;tree.std_onclick=function(node){pscript.cur_node=node;pscript.set_ac_head(node.parent_account,node.rec,type);} tree.std_onexp=function(node){if(node.expanded_once)return;$ds(node.loading_div);var callback=function(r,rt){$dh(node.loading_div);var n=tree.allnodes[r.message.parent_acc_name];var cl=r.message.cl;if(type=='Account'){for(var i=0;iRefresh Tree';ref_btn.onclick=function(){pscript.cur_node.clear_child_nodes();pscript.cur_node.expand();} pscript.group_area.ref_btn=ref_btn;pscript.acc_add_btn=$btn(pscript.group_area,'+ Add a child Account',function(){pscript.new_acc_dialog.show();});pscript.cc_add_btn=$btn(pscript.group_area,'+ Add a child Cost Center',null);pscript.cc_add_btn.onclick=function(){pscript.cc_dialog.widgets['Create'].onclick=function(){if(!pscript.cc_dialog.widgets['New Cost Center Name'].value){msgprint('Please enter New Cost Center Name');return;} if(!sel_val(pscript.cc_dialog.widgets['Group or Ledger'])){msgprint('Please specify cost center is group or ledger');return;} args={'cost_center_name':pscript.cc_dialog.widgets['New Cost Center Name'].value,'parent_cost_center':pscript.cur_node.rec.name,'group_or_ledger':sel_val(pscript.cc_dialog.widgets['Group or Ledger']),'company_name':sel_val(pscript.ab_company_sel),'company_abbr':'','old_parent':''} $c_obj('GL Control','add_cc',docstring(args),function(r,rt){pscript.cc_dialog.widgets['New Cost Center Name'].value='';pscript.cc_dialog.hide();pscript.group_area.ref_btn.onclick();});} pscript.new_cost_center_dialog.show();}} pscript.make_ledger_area=function(){pscript.ledger_area=$a(pscript.la,'div','ac_ledger');pscript.gl_rep=$a(pscript.ledger_area,'div','',{fontSize:'14px',marginBottom:'8px',fontWeight:'bold'});pscript.gl_rep.innerHTML='Open Ledger';pscript.gl_rep.onclick=function(){pscript.make_report('gl');}} pscript.make_report=function(flag){if(flag=='gl'){var callback=function(report){report.set_filter('GL Entry','Account',pscript.cur_node.rec.name) report.dt.run();} loadreport('GL Entry','General Ledger',callback);}} pscript.make_new_acc_dialog=function(){var d=new Dialog(300,400,'Create A New Account');d.make_body([['HTML','Heading'],['Data','New Account Name'],['Select','Group or Ledger','Specify whether the new account is a Ledger or Group'],['Select','Account Type','[Optional] Specify the type of this account'],['Data','Tax Rate','Specify the default tax rate'],['Select','Master Type','Specify the master type of this account'],['Button','Create']]);add_sel_options(d.widgets['Group or Ledger'],['Group','Ledger'],'Group');add_sel_options(d.widgets['Account Type'],['','Fixed Asset Account','Bank or Cash','Expense Account','Tax','Income Account','Chargeable'],'');add_sel_options(d.widgets['Master Type'],['NA','Supplier','Customer','Employee'],'NA');d.widgets['Group or Ledger'].onchange=function(){if(sel_val(this)=='Ledger')$ds(d.rows['Account Type']);else $dh(d.rows['Account Type']);} d.widgets['Account Type'].onchange=function(){if(sel_val(this)=='Tax'||sel_val(this)=='Chargeable')$ds(d.rows['Tax Rate']);else $dh(d.rows['Tax Rate']);} d.onshow=function(){$dh(this.rows['Account Type']);$dh(this.rows['Tax Rate']);this.widgets['Group or Ledger'].selectedIndex=0;this.widgets['Account Type'].selectedIndex=0;this.widgets['Master Type'].selectedIndex=0;d.widgets['New Account Name'].value='';d.widgets['Tax Rate'].value='';} d.widgets['Create'].onclick=function(){if(!d.widgets['New Account Name'].value){msgprint('Please enter New Account Name');return;} if(!sel_val(d.widgets['Master Type'])){msgprint('Please enter master type of this new account');return;} args={'account_name':d.widgets['New Account Name'].value,'parent_account':pscript.cur_node.rec.name,'group_or_ledger':sel_val(d.widgets['Group or Ledger']),'company':sel_val(pscript.ab_company_sel),'account_type':sel_val(d.widgets['Account Type']),'tax_rate':d.widgets['Tax Rate'].value,'master_type':sel_val(d.widgets['Master Type'])} $c_obj('GL Control','add_ac',docstring(args),function(r,rt){d.hide();pscript.group_area.ref_btn.onclick();});} pscript.new_acc_dialog=d;} pscript.make_new_cost_center_dialog=function(){pscript.cc_dialog=new Dialog(300,400,'Create A New Cost Center');pscript.cc_dialog.make_body([['HTML','Heading'],['Data','New Cost Center Name'],['Select','Group or Ledger','Specify whether the new cost center is a Ledger or Group'],['Button','Create']]);add_sel_options(pscript.cc_dialog.widgets['Group or Ledger'],['Group','Ledger'],'Group');pscript.new_cost_center_dialog=pscript.cc_dialog;}