Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
2470 Lượt xem

I have a project budget model(project.budget). each project budget has many lines, meaning I have a model (project.budget.line). I have added a many2one field to the invoice model(account.move): budget_id this field refers to the project budget model, and I also added a many2one field to the invoice lines model (account.move.line) which is: budget_line this field refers to the project budget line model. what I want when I select a budget using budget id in the account move filter the budget line in the account move line using on change meaning returning only the lines that belong to the project budget, but nothing is happening here is my code:

class CustomAccountingMove(models.Model):
_inherit = 'account.move'

    budget_id = fields.Many2one('project.budget', string='Project Bugdet')

    @api.onchange('budget_id')
    def onchange_budget_id(self):
        for rec in self:
            return {'domain': {'invoice_line_ids.budget_line': [
            ('id',
             'in',
             rec.mapped('budget_id.budget_line_ids.id')
             )]
        }
        }

class CustomAccountingMoveline(models.Model):
_inherit = 'account.move.line'

    budget_line = fields.Many2one('project.budget.line', string='Budget Line')


Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

I have set the domain in view and use parent to get the budget_id:

"budget_line" domain="[('budget_id', '=', parent.budget_id)]"/>

budget_id on the left is the inverse name used in budget_line_ids


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 6 23
3132
1
thg 1 23
2932
0
thg 9 22
2642
1
thg 8 22
3653
0
thg 8 22
2775