oc_template/modules/account_co_reports/balance_sheet.py
2024-06-15 11:00:00 -05:00

58 lines
2.9 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# The COPYRIGHT file at the top level of this repository contains the full
# copyright notices and license terms.
from trytond.model import ModelView, ModelSQL, fields
from trytond.report import Report
from trytond.pool import Pool, PoolMeta
from trytond.transaction import Transaction
class Account(metaclass=PoolMeta):
'Balance Sheet Context'
__name__ = 'account.balance_sheet.context'
utility_temp = fields.Boolean('Utility Temp', help='Permited see the utility without have any account move')
class BalanceSheet(Report):
'Balance Sheet Report'
__name__ = 'account.balance_sheet'
@classmethod
def get_context(cls, records, header, data):
report_context = super(BalanceSheet, cls).get_context(records, header, data)
Company = Pool().get('company.company')
report_context['company'] = Company(Transaction().context.get('company'))
report_context['date'] = Transaction().context.get('date')
report_context['comparison'] = Transaction().context.get('comparison')
report_context['date_cmp'] = Transaction().context.get('date_cmp')
value_accounts = report_context['records']
account_child_list = []
utility = {}
value_comp = 0
for account in value_accounts:
if account.amount != 0:
for child in account.childs:
if child.name == 'PATRIMONIO NETO Y PASIVOS':
child.amount = child.amount + account.amount
if child.amount_cmp and account.amount_cmp:
child.amount_cmp = child.amount_cmp + account.amount_cmp
for child1 in child.childs:
if child1.name == 'PATRIMONIO NETO':
child1.amount = child1.amount + account.amount
if child1.amount_cmp and account.amount_cmp:
child1.amount_cmp = child1.amount_cmp + account.amount_cmp
child1.childs[0].amount = child1.childs[0].amount + account.amount
if child1.childs[0].amount_cmp and account.amount_cmp:
child1.childs[0].amount_cmp = child1.childs[0].amount_cmp + account.amount_cmp
account_child_list = [child for child in child1.childs[0].childs]
if account.amount_cmp:
value_comp = account.amount_cmp
utility = {
'amount': account.amount,
'amount_cmp': value_comp,
'name': 'UTILIDAD / PERDIDA ESTIMADA DEL PERIODO',
'childs': None,
}
account_child_list.append(utility)
child1.childs[0].childs = account_child_list
return report_context