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
- Contabilità
- Magazzino
- PoS
- Project
- MRP
La domanda è stata contrassegnata
1
Rispondi
6542
Visualizzazioni
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)]
}}
Ti stai godendo la conversazione? Non leggere soltanto, partecipa anche tu!
Crea un account oggi per scoprire funzionalità esclusive ed entrare a far parte della nostra fantastica community!
RegistratiPost correlati | Risposte | Visualizzazioni | Attività | |
---|---|---|---|---|
|
1
ago 20
|
3420 | ||
|
0
feb 25
|
18 | ||
|
0
apr 22
|
6172 | ||
|
1
gen 20
|
7946 | ||
|
1
nov 19
|
4020 |