gpt4 book ai didi

python - Onchange 已触发,但未使用 View 上的值填充字段(Odoo)

转载 作者:行者123 更新时间:2023-11-30 22:38:41 25 4
gpt4 key购买 nike

我创建了一个 onchange 函数,其目标是自动填充笔记本工作 TableView 上的值。

我的函数运行正常,但没有填充 View 上的字段。

我应该怎么做才能实现这个目标?

这是我从 pdb 得到的:

enter image description here

这就是我想要的值,但它没有填充 View 上的字段

这是 py:

@api.multi
@api.model
@api.onchange('employee_id')
def onchange_lines(self):
import pdb;pdb.set_trace()
if self.employee_id:
check = self.env['hr.employee'].sudo().search([('id','=',self.employee_id.id)])
for empy in check:
if empy.id:
res = {}
vals = []
if not empy:
vals.
res.update({'self.job_id':'', 'self.nik':''})
else:
vals.append({'self.job_id':empy.job_id, 'self.nik':empy.identification_id})
res.update(vals)
return res

这是字段的 xml:

<!-- language: xml -->
<notebook>
<page string="Employees">
<field name="employee_ids">
<tree string="Employees" editable="bottom">
<field name="nik"/>
<field name="employee_id"/>
<field name="job_id"/>
<field name="ovrtm"/>
<field name="ttalmtp"/>
</tree>
</field>
</page>
</notebook>

最佳答案

在odoo new onchange api中,您可以直接在记录集对象中赋值。

您可以按照以下代码操作。

@api.onchange('employee_id')
def onchange_lines(self):
import pdb;pdb.set_trace()
if self.employee_id:
check = self.env['hr.employee'].sudo().search([('id','=',self.employee_id.id)])
for empy in check:
if empy.id:
res = {}
vals = []
if not empy:
self.job_id=False
self.nik=False
else:
self.job_id=empy.job_id
self.nik=empy.identification_id

这可能对你有帮助。

关于python - Onchange 已触发,但未使用 View 上的值填充字段(Odoo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com