Python Onchange已触发,但未使用视图(Odoo)上的值填充字段

Python Onchange已触发,但未使用视图(Odoo)上的值填充字段,python,openerp,odoo-8,odoo-9,odoo-10,Python,Openerp,Odoo 8,Odoo 9,Odoo 10,我制作了一个onchange函数,其目标是自动填充notebook sheet视图上的值 我的函数工作正常,但没有填充视图中的字段 我应该怎么做才能做到这一点 这是我从pdb得到的: 这是我想要的值,但它没有填充视图上的字段 下面是py: @api.multi @api.model @api.onchange('employee_id')) def onchange_管线(自身): 进口pdb;pdb.set_trace() 如果self.employee\u id: check=self.e

我制作了一个
onchange
函数,其目标是自动填充notebook sheet视图上的值

我的函数工作正常,但没有填充视图中的字段

我应该怎么做才能做到这一点

这是我从pdb得到的:

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

下面是py:

@api.multi
@api.model
@api.onchange('employee_id'))
def onchange_管线(自身):
进口pdb;pdb.set_trace()
如果self.employee\u id:
check=self.env['hr.employee'].sudo().search([('id','=',self.employee_id.id)])
对于检查中的empy:
如果是empy.id:
res={}
VAL=[]
如果不是empy:
瓦尔斯。
res.update({'self.job_id':'','self.nik':''})
其他:
vals.append({'self.job_id':empy.job_id,'self.nik':empy.identification_id})
存储更新(VAL)
返回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>

在onchange的odoo新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

这可能会对您有所帮助。

它很有效,谢谢,您能看看我关于域名的其他问题吗?这里是链接:提前谢谢