48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import webnotes
 | |
| from webnotes.utils import get_defaults, cstr
 | |
| 
 | |
| @webnotes.whitelist()
 | |
| def get_companies():
 | |
| 	return [r[0] for r in webnotes.conn.sql("""select name from tabCompany where docstatus!=2""")]
 | |
| 	
 | |
| @webnotes.whitelist()
 | |
| def get_children():
 | |
| 	args = webnotes.form_dict
 | |
| 	ctype, company = args['ctype'], args['comp']
 | |
| 	
 | |
| 	company_field = ctype=='Account' and 'company' or 'company_name'
 | |
| 
 | |
| 	# root
 | |
| 	if args['parent'] == company:
 | |
| 		acc = webnotes.conn.sql(""" select 
 | |
| 			name as value, if(group_or_ledger='Group', 1, 0) as expandable
 | |
| 			from `tab%s`
 | |
| 			where ifnull(parent_%s,'') = ''
 | |
| 			and %s = %s	and docstatus<2 
 | |
| 			order by name""" % (ctype, ctype.lower().replace(' ','_'), company_field, '%s'),
 | |
| 				args['parent'], as_dict=1)
 | |
| 	else:	
 | |
| 		# other
 | |
| 		acc = webnotes.conn.sql("""select 
 | |
| 			name as value, if(group_or_ledger='Group', 1, 0) as expandable
 | |
| 	 		from `tab%s` 
 | |
| 			where ifnull(parent_%s,'') = %s
 | |
| 			and docstatus<2 
 | |
| 			order by name""" % (ctype, ctype.lower().replace(' ','_'), '%s'),
 | |
| 				args['parent'], as_dict=1)
 | |
| 				
 | |
| 	if ctype == 'Account':
 | |
| 		currency = webnotes.conn.sql("select default_currency from `tabCompany` where name = %s", company)[0][0]
 | |
| 		for each in acc:
 | |
| 			bal = webnotes.conn.sql("select balance from `tabAccount Balance` \
 | |
| 				where account = %s and period = %s", (each.get('value'), get_defaults('fiscal_year')))[0][0]
 | |
| 			each['balance'] = currency + ' ' + cstr(bal)
 | |
| 		
 | |
| 	return acc
 | |
| 	
 | |
| 
 | |
| @webnotes.whitelist()		
 | |
| def get_account_balance():
 | |
| 	args = webnotes.form_dict
 | |
| 	acc = args['acc']
 | |
| 	return 'Rs. 100' |