如果选择emp名称,我必须自动填充所有数据,然后其他字段应自动填充
在这里,我添加了树视图 .py 和 xml 文件,请为此帮助我,
而且我还想再向特定员工提交一份附件。
from openerp.osv import fields, osv
class hr_employee(osv.osv):
_inherit="hr.employee"
_columns={
'emp_line':fields.one2many('empl.line','emp_id','Employee Line'),
}
class empl_line(osv.osv):
_name="empl.line"
APPOINTMENT_SELECTION=[
('0','Regular'),
('1','Aditional'),
('2','Deputation'),
('3','Incharge'),
]
_columns = {
'name':fields.selection(APPOINTMENT_SELECTION,'Appointment For'),
'surname':fields.char('Name'),
'doj':fields.date('Date of Joining'),
'dor':fields.date('Date of Relieving'),
'emp_id': fields.many2one('hr.employee', 'employee_id'),
}
empl_line()
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="hr_view_employee_form1" model="ir.ui.view">
<field name="name">hr.employee.form</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<page string="HR Settings" groups="base.group_hr_user" position="after">
<page string="Employee Details">
<field name="emp_line" >
<form string="Employee Line">
<group>
<field name="name"/>
<field name="surname"/>
<field name="doj"/>
<field name="dor"/>
</group>
</form>
<tree string="Employee Line">
<field name="name"/>
<field name="surname"/>
<field name="doj"/>
<field name="dor"/>
</tree>
</field>
</page>
</page>
</field>
</record>
<record model="ir.ui.view" id="hr.view_employee_form2">
<field name="name">hr.employee.form</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form" />
<field name="arch" type="xml">
<page string="Personal Information" groups="base.group_hr_user" >
<attribute name='invisible'>1</attribute>
</page>
</field>
</record>
</data>
</openerp>
答案 0 :(得分:0)
您可以使用onchange函数并返回所需的值。
为此,请将on_change属性设置为您的字段:
<field name="name" on_change="onchange_name(name)" />
并在 .py 文件中,向您的模型添加如下函数:
def onchange_name(self, cr, uid, ids, name, context=None):
# Put your logic here
return {
'value': {
'surname': 'this is a surname'
}
}
因此,在更改 name 字段时,将更改姓氏。