I want to restrict the account lookup (domain) based on the value entered in GL Prefix (I'll actually use some wildcards and some other logic which I'm comfortable adding later), the problem is that I'm getting a logical True or False value returned by self.x_poLineGLprefix rather than the value in the field. How do I get the actual data value of x_poLineGLprefix?
class QuickPOLine(models.Model):
_name = 'purchase.order.line'
_inherit = 'purchase.order.line'
x_poLineGLprefix = fields.Char(string='GL Prefix')
x_poLineGLaccount = fields.Many2one(
'account.account', string="Line Item Expense Account",
help="This account will be used to post the expense value of this line item.",domain=lambda self: [('code', '=', self.x_poLineGLprefix)])
Thank you for the suggestion of using the onchange call. That certainly does change the domain. Is it possible to use values from the current record in the domain function as written above. I've seen in in hr_expense.py that the domain can call a function and reference the userid fields stored in self. Is there no current record stored in self when evaluating the domain?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
1
Trả lời
6552
Lượt xem
hi,
just try this
@api.onchange('x_poLineGLprefix')
def onchange_x_poLineGLprefix(self):
if self.x_poLineGLprefix:
return {'domain': {
'x_poLineGLaccount': [('code', '=', self.x_poLineGLprefix)]
}}
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
1
thg 8 20
|
3424 | ||
|
0
thg 2 25
|
18 | ||
|
0
thg 4 22
|
6175 | ||
|
1
thg 1 20
|
7948 | ||
|
1
thg 11 19
|
4020 |