Browse Source

[ADD] account values per period

pull/79/head
Yanina Aular 11 years ago
parent
commit
5a20e1dd0a
  1. 114
      account_financial_report/report/parser.py

114
account_financial_report/report/parser.py

@ -35,6 +35,7 @@ from report import report_sxw
from tools import config
from tools.translate import _
from osv import osv
import pdb
class account_balance(report_sxw.rml_parse):
@ -437,62 +438,65 @@ class account_balance(report_sxw.rml_parse):
#
#
###############################################################
form['periods'] = [0]
ctx_init = _ctx_init(self.context.copy())
account_black_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [i[0] for i in account_ids]),('type','not in',('view','consolidation'))]))
account_black = account_obj.browse(self.cr, self.uid, account_black_ids, ctx_init)
account_black.sort(key=lambda x: x.level)
account_black.reverse()
account_black_ids = [i.id for i in account_black]
account_not_black_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [i[0] for i in account_ids]),('type','in',('view','consolidation'))]))
account_not_black = account_obj.browse(self.cr, self.uid, account_not_black_ids, ctx_init)
account_not_black.sort(key=lambda x: x.level)
account_not_black.reverse()
account_not_black_ids = [i.id for i in account_not_black]
dict_black = {}
print "Negros"
for i in account_black:
black_data = {}
black_data['obj'] = i
black_data['debit'] = i.debit
black_data['credit'] = i.credit
black_data['balance'] = i.balance
black_data['parent_id'] = i.parent_id
print i.id, i.name
#print i.level
#print black_data
dict_black[i.id] = black_data
dict_not_black = {}
print "No Negros"
for i in account_not_black:
not_black_data = {}
not_black_data['obj'] = i
not_black_data['debit'] = 0.0
not_black_data['credit'] = 0.0
not_black_data['balance'] = 0.0
not_black_data['parent_id'] = i.parent_id
dict_not_black[i.id] = not_black_data
all_account = dict_black.copy() #se hace una copia, porque se modificara
print "##################"
for i in dict_not_black:
print dict_not_black[i].get('obj').name , dict_not_black[i].get('debit')
for acc_id in account_not_black_ids:
print dict_not_black[acc_id].get('obj').name
acc_childs = dict_not_black[acc_id].get('obj')._get_child_ids(self.cr, self.uid).popitem()[1] #hijos de la cuenta i (id)
for child_id in acc_childs:
dict_not_black[acc_id]['debit'] += all_account[child_id].get('debit')
all_account[acc_id] = dict_not_black[acc_id]
pdb.set_trace()
print period_ids
for p_id in period_ids:
form['periods'] = [p_id]
ctx_init = _ctx_init(self.context.copy())
account_black_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [i[0] for i in account_ids]),('type','not in',('view','consolidation'))]))
account_black = account_obj.browse(self.cr, self.uid, account_black_ids, ctx_init)
account_black.sort(key=lambda x: x.level)
account_black.reverse()
account_black_ids = [i.id for i in account_black]
account_not_black_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [i[0] for i in account_ids]),('type','in',('view','consolidation'))]))
account_not_black = account_obj.browse(self.cr, self.uid, account_not_black_ids, ctx_init)
account_not_black.sort(key=lambda x: x.level)
account_not_black.reverse()
account_not_black_ids = [i.id for i in account_not_black]
dict_black = {}
print "Negros"
for i in account_black:
black_data = {}
black_data['obj'] = i
black_data['debit'] = i.debit
black_data['credit'] = i.credit
black_data['balance'] = i.balance
black_data['parent_id'] = i.parent_id
print i.id, i.name
#print i.level
#print black_data
dict_black[i.id] = black_data
dict_not_black = {}
print "No Negros"
for i in account_not_black:
not_black_data = {}
not_black_data['obj'] = i
not_black_data['debit'] = 0.0
not_black_data['credit'] = 0.0
not_black_data['balance'] = 0.0
not_black_data['parent_id'] = i.parent_id
dict_not_black[i.id] = not_black_data
print "##################"
for i in all_account:
print all_account[i].get('obj').name , all_account[i].get('debit')
all_account = dict_black.copy() #se hace una copia, porque se modificara
print "##################"
for i in dict_not_black:
print dict_not_black[i].get('obj').name , dict_not_black[i].get('debit')
for acc_id in account_not_black_ids:
print dict_not_black[acc_id].get('obj').name
acc_childs = dict_not_black[acc_id].get('obj')._get_child_ids(self.cr, self.uid).popitem()[1] #hijos de la cuenta i (id)
for child_id in acc_childs:
dict_not_black[acc_id]['debit'] += all_account[child_id].get('debit')
all_account[acc_id] = dict_not_black[acc_id]
print "##################"
for i in all_account:
print all_account[i].get('obj').name , all_account[i].get('debit')
#import pdb
#pdb.set_trace()

Loading…
Cancel
Save