Update links in report, add account group file, update trial balance with hierarchy.
Update indentation, remove empty lines from header.
Update test.
Update pylint.
Remove company_id on computing accounts, since account.group is not a company based model, filtering accounts is done on trial balance report.
Update account variables.
Improve condition in padding on accounts.
Add option to print hierarchy based on defined accounts/computed accounts.
Add VAT report, hierarchy from tax tags ans taxes.
Fix pylint, xlsx report generation header.
Update code to select code_prefix or name.
Update code to select code_prefix or name.
Update code to select code_prefix or name.
Fix domain in base amounts in vat report.
Change trial balance code_prefix or name.
Update trail balance, add tests for vat report.
Update pylint, amounts as monetary, many2one option on generation excels.
Update pulint.
Add VAT Report in readme.
Add VAT Report in readme.
Update array_agg.
Update array_agg.
Update array_agg.
Add option in VAT Report to be printed on Tax Tags - Tax Groups.
Add widget to hierarchy_on on trial balance.
7 years ago |
|
# © 2018 Forest and Biomass Romania SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class AccountGroup(models.Model): _inherit = 'account.group'
group_child_ids = fields.One2many( comodel_name='account.group', inverse_name='parent_id', string='Child Groups') level = fields.Integer( string='Level', compute='_compute_level', store=True) account_ids = fields.One2many( comodel_name='account.account', inverse_name='group_id', string="Accounts") compute_account_ids = fields.Many2many( 'account.account', compute='_compute_group_accounts', string="Accounts", store=True)
@api.multi @api.depends('parent_id') def _compute_level(self): for group in self: level = 0 new_group = group while new_group.parent_id: level += 1 new_group = new_group.parent_id group.level = level
@api.multi @api.depends('code_prefix', 'account_ids', 'account_ids.code', 'group_child_ids', 'group_child_ids.account_ids.code') def _compute_group_accounts(self): account_obj = self.env['account.account'] accounts = account_obj.search([]) for group in self: prefix = group.code_prefix if group.code_prefix else group.name gr_acc = accounts.filtered( lambda a: a.code.startswith(prefix)).ids group.compute_account_ids = [(6, 0, gr_acc)]
|