创建新员工时,hr_模块中出现Odoo13序列错误
您好,我实际上遇到了一个问题,我遵循了本链接中所示的教程,代码中没有错误,但当我创建新员工时,它不会生成参考号。所创建员工的参考号在树状图和表单视图中保持为“新”。有人能帮我吗 hr.py:创建新员工时,hr_模块中出现Odoo13序列错误,odoo,odoo-12,odoo-13,Odoo,Odoo 12,Odoo 13,您好,我实际上遇到了一个问题,我遵循了本链接中所示的教程,代码中没有错误,但当我创建新员工时,它不会生成参考号。所创建员工的参考号在树状图和表单视图中保持为“新”。有人能帮我吗 hr.py: name_seq = fields.Char(string='Order Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New')) @api.model def crea
name_seq = fields.Char(string='Order Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New'))
@api.model
def create(self, vals):
if vals.get('name_seq', _('New')) == _('New'):
vals['name_seq'] = self.env['ir.sequence'].next_by_code('hr.employee.sequence', sequence_date=seq_date) or _('New')
result = super(HrEmployeePrivate, self).create(vals)
return result
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Sequences for transfer.order -->
<record id="seq_hr_employee" model="ir.sequence">
<field name="name">Employee Sequence</field>
<field name="code">hr.employee.sequence</field>
<field name="prefix">EMP</field>
<field name="padding">3</field>
<field name="company_id" eval="False"/>
</record>
</data>
</odoo>
<div class="oe_title">
<h1>
<field name="name_seq" readonly ="1"/>
</h1>
<h2>
<field name="name" placeholder="Employee's Name" required="True"/>
</h2>
<h3>
<field name="job_title" placeholder="Job Position" />
</h3>
<field name="category_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" placeholder="Tags" groups="hr.group_hr_manager"/>
</div>
sequence.xml:
name_seq = fields.Char(string='Order Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New'))
@api.model
def create(self, vals):
if vals.get('name_seq', _('New')) == _('New'):
vals['name_seq'] = self.env['ir.sequence'].next_by_code('hr.employee.sequence', sequence_date=seq_date) or _('New')
result = super(HrEmployeePrivate, self).create(vals)
return result
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Sequences for transfer.order -->
<record id="seq_hr_employee" model="ir.sequence">
<field name="name">Employee Sequence</field>
<field name="code">hr.employee.sequence</field>
<field name="prefix">EMP</field>
<field name="padding">3</field>
<field name="company_id" eval="False"/>
</record>
</data>
</odoo>
<div class="oe_title">
<h1>
<field name="name_seq" readonly ="1"/>
</h1>
<h2>
<field name="name" placeholder="Employee's Name" required="True"/>
</h2>
<h3>
<field name="job_title" placeholder="Job Position" />
</h3>
<field name="category_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" placeholder="Tags" groups="hr.group_hr_manager"/>
</div>
员工序列
hr.employee.sequence
电磁脉冲
3.
hr\u views.xml:
name_seq = fields.Char(string='Order Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New'))
@api.model
def create(self, vals):
if vals.get('name_seq', _('New')) == _('New'):
vals['name_seq'] = self.env['ir.sequence'].next_by_code('hr.employee.sequence', sequence_date=seq_date) or _('New')
result = super(HrEmployeePrivate, self).create(vals)
return result
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Sequences for transfer.order -->
<record id="seq_hr_employee" model="ir.sequence">
<field name="name">Employee Sequence</field>
<field name="code">hr.employee.sequence</field>
<field name="prefix">EMP</field>
<field name="padding">3</field>
<field name="company_id" eval="False"/>
</record>
</data>
</odoo>
<div class="oe_title">
<h1>
<field name="name_seq" readonly ="1"/>
</h1>
<h2>
<field name="name" placeholder="Employee's Name" required="True"/>
</h2>
<h3>
<field name="job_title" placeholder="Job Position" />
</h3>
<field name="category_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" placeholder="Tags" groups="hr.group_hr_manager"/>
</div>
这似乎是由于if条件,它将无法生成序列
打印VAL并检查字段的值,并基于创建方法中的put if条件。问题是您的序列没有生成is
,您在其中检查了条件if VAL.get('name_seq','New')==='New'):
其中,在只读字段上,您将无法写入任何内容,因此,对于生成序列,它无法满足您的条件
要么像这样改变条件
if 'name_seq' not in vals or vals['name_seq'] == _('New'):
您只需要在模型文件中导入u
从奥多进口_