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
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- 会計
- 在庫
- PoS
- Project
- MRP
この質問にフラグが付けられました
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
Thank you!
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,
関連投稿 | 返信 | ビュー | 活動 | |
---|---|---|---|---|
|
2
7月 24
|
1574 | ||
|
2
1月 21
|
5958 | ||
|
1
7月 19
|
6569 | ||
|
3
6月 15
|
5607 | ||
|
0
2月 21
|
3836 |