Browse Source

[IMP] Consolidating Accounts now are able to be summarize with AFR

pull/7/merge
Humberto Arocha 12 years ago
parent
commit
76b4ec45e6
  1. 36
      account_financial_report/report/parser.py

36
account_financial_report/report/parser.py

@ -440,7 +440,22 @@ class account_balance(report_sxw.rml_parse):
('view', 'consolidation'))])) ('view', 'consolidation'))]))
account_not_black_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [ account_not_black_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [
i[0] for i in all_account_ids]), ('type', 'in', ('view', 'consolidation'))]))
i[0] for i in all_account_ids]),('type', '=', 'view')]))
acc_cons_ids = account_obj.search(self.cr, self.uid, ([('id', 'in', [
i[0] for i in all_account_ids]), ('type', 'in', ('consolidation',))]))
account_consol_ids = account_obj._get_children_and_consol(
self.cr, self.uid, acc_cons_ids)
account_black_ids += account_obj.search(self.cr, self.uid, (
[('id', 'in', account_consol_ids ),
('type', 'not in',
('view', 'consolidation'))]))
c_account_not_black_ids = account_obj.search(self.cr, self.uid, ([
('id', 'in', account_consol_ids),
('type', '=', 'view')]))
# This could be done quickly with a sql sentence # This could be done quickly with a sql sentence
account_not_black = account_obj.browse( account_not_black = account_obj.browse(
@ -449,6 +464,21 @@ class account_balance(report_sxw.rml_parse):
account_not_black.reverse() account_not_black.reverse()
account_not_black_ids = [i.id for i in account_not_black] account_not_black_ids = [i.id for i in account_not_black]
c_account_not_black = account_obj.browse(
self.cr, self.uid, c_account_not_black_ids)
c_account_not_black.sort(key=lambda x: x.level)
c_account_not_black.reverse()
c_account_not_black_ids = [i.id for i in c_account_not_black]
acc_cons_brw = account_obj.browse(
self.cr, self.uid, acc_cons_ids)
acc_cons_brw.sort(key=lambda x: x.level)
acc_cons_brw.reverse()
acc_cons_ids = [i.id for i in acc_cons_brw]
account_not_black_ids = c_account_not_black_ids + acc_cons_ids + account_not_black_ids
account_not_black = c_account_not_black + acc_cons_brw + account_not_black
all_account_period = {} # All accounts per period all_account_period = {} # All accounts per period
# Iteration limit depending on the number of columns # Iteration limit depending on the number of columns
@ -514,7 +544,9 @@ class account_balance(report_sxw.rml_parse):
) #It makes a copy because they modify ) #It makes a copy because they modify
for acc_id in account_not_black_ids: for acc_id in account_not_black_ids:
acc_childs = dict_not_black.get(acc_id).get('obj').child_id
acc_childs = dict_not_black.get(acc_id).get('obj').type=='view' \
and dict_not_black.get(acc_id).get('obj').child_id \
or dict_not_black.get(acc_id).get('obj').child_consol_ids
for child_id in acc_childs: for child_id in acc_childs:
dict_not_black.get(acc_id)['debit'] += all_account.get( dict_not_black.get(acc_id)['debit'] += all_account.get(
child_id.id).get('debit') child_id.id).get('debit')

Loading…
Cancel
Save