Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
2 Antworten
2098 Ansichten

Hello, I want to inherit the hr.expense and change the existing fields.
for example, I want the tax_ids field (Many2many) to be limited to 1. The user can only select one tax type.
Also, how can I set the default account for the expense. I want to set a particular account for expenses that I have created in the chart of accounts to be the default one for my model
Please help me on this

Thank you

Avatar
Verwerfen
Beste Antwort

Hi 

You can use api.constrains decorator, it will help to limit the tax to 1 

check the following code 

class HrExpense(models.Model):
_inherit ='hr.expense'

@api.constrains('tax_ids')
def _check_tax_ids_lines(self):
for record in self:
if len(record.tax_ids) > 1:
raise ValidationError('You can have only one tax.')



Regards

Avatar
Verwerfen
Autor

Thank you!

Beste Antwort

Hi,

To assign a default expense account, add a default attribute to the corresponding field, and add constraints for tax fields to prevent adding more than one tax to form.


class HrExpense(models.Model):
    _inherit ='hr.expense'
def _default_account_id(self):
    return self.env['account.account'].search([
        ('account_type', 'not in', ('asset_receivable', 'liability_payable', 'asset_cash', 'liability_credit_card')),
        ('company_id', '=', company_id)], limit=1).id

account_id = fields.Many2one( 'account.account',  compute='_compute_account_id',store=True,
    readonly=False,  precompute=True,  string='Account',   default=_default_account_id,
    domain="[('account_type', 'not in', ('asset_receivable', 'liability_payable', 'asset_cash', 'liability_credit_card')), ('company_id', '=', company_id)]",   help="An expense account is expected" )

@api.constrains('tax_ids')
def _check_tax_ids(self):
    for record in self:
        if len(record.tax_ids) > 1:
            raise ValidationError('You can add only one tax.')

Hope it helps,

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
2
Juli 24
1574
2
Jan. 21
5958
1
Juli 19
6569
3
Juni 15
5607
0
Feb. 21
3836