预期单例:hr.employee(1, 2)
Expected singleton: hr.employee(1, 2)
美好的一天!我在加载 kanban
视图时遇到错误。我继承了 hr.employee
Kanban
xml 并且只是添加了一个条件,如果某些文件过期,它将在 kanban
视图中添加一个过期文件通知,这里是 xml代码:
<record model="ir.ui.view" id="hr_kanban_view_employees_recruitment_kanban">
<field name="name">HR - Employees Kanban Document Status</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.hr_kanban_view_employees"/>
<field name="arch" type="xml">
<xpath expr="//templates" position="before">
<field name="employee_id"/>
<field name="documents_status"/>
</xpath>
<xpath expr="//div[@class='oe_employee_details']/ul/li[@id='last_login']" position="inside">
<span t-if="record.documents_status.raw_value" style="font-size: 100%%"
t-att-class="record.documents_status.raw_value==true'oe_kanban_button oe_kanban_color_3'">
<field name="employee_id" readonly = "1"/>
Has Expired Documents
</span>
</xpath>
</field>
</record>
和 documents_status
字段的模型
加载时
documents_status = fields.Boolean('DocumentStatus', readonly = True,store = False,compute ='getdocumentStatus')
@api.one
def getdocumentStatus(self):
raise Warning(self.employee_id)
server_date = datetime.datetime.strptime(DATE_NOW.strftime("%Y-%m-%d") ,"%Y-%m-%d")
result = {}
for id in self.ids:
result[id] = {
'documents_status': True
}
totaldoc = self.env['hr.employee_documents'].search_count([('date_expiry', '<', server_date),('employee_doc_id','=', id)])
if totaldoc > 0:
result[id]['documents_status'] = True
self.documents_status = True
else:
result[id]['documents_status'] = False
self.documents_status = False
return result
员工中的kanban
视图发生错误
Expected singleton: hr.employee(1, 2).
谁能帮我解决这个问题,在此先感谢。
我不知道hr.employee
和hr.employee_documents
之间的关系。如果这个是 One2many
(一个唯一雇员的许多文档),hr.employee
模型中必须有一个指向 hr.employee_documents
的 One2many
字段。假设此字段名为 documents
(这对于通过 api.depends
触发计算方法很重要)。然后写这段代码:
@api.multi
@api.depends('documents.date_expiry')
def getdocumentStatus(self):
server_date = datetime.datetime.strptime(DATE_NOW.strftime("%Y-%m-%d"), "%Y-%m-%d")
for record in self:
totaldoc = self.env['hr.employee_documents'].search_count([('date_expiry', '<', server_date),('employee_doc_id','=', self.id)])
if totaldoc > 0:
record.documents_status = True
else:
record.documents_status = False
你应该把两个模型之间的关系写给我们,以便给你一个准确的答案。
美好的一天!我在加载 kanban
视图时遇到错误。我继承了 hr.employee
Kanban
xml 并且只是添加了一个条件,如果某些文件过期,它将在 kanban
视图中添加一个过期文件通知,这里是 xml代码:
<record model="ir.ui.view" id="hr_kanban_view_employees_recruitment_kanban">
<field name="name">HR - Employees Kanban Document Status</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.hr_kanban_view_employees"/>
<field name="arch" type="xml">
<xpath expr="//templates" position="before">
<field name="employee_id"/>
<field name="documents_status"/>
</xpath>
<xpath expr="//div[@class='oe_employee_details']/ul/li[@id='last_login']" position="inside">
<span t-if="record.documents_status.raw_value" style="font-size: 100%%"
t-att-class="record.documents_status.raw_value==true'oe_kanban_button oe_kanban_color_3'">
<field name="employee_id" readonly = "1"/>
Has Expired Documents
</span>
</xpath>
</field>
</record>
和 documents_status
字段的模型
加载时
documents_status = fields.Boolean('DocumentStatus', readonly = True,store = False,compute ='getdocumentStatus')
@api.one
def getdocumentStatus(self):
raise Warning(self.employee_id)
server_date = datetime.datetime.strptime(DATE_NOW.strftime("%Y-%m-%d") ,"%Y-%m-%d")
result = {}
for id in self.ids:
result[id] = {
'documents_status': True
}
totaldoc = self.env['hr.employee_documents'].search_count([('date_expiry', '<', server_date),('employee_doc_id','=', id)])
if totaldoc > 0:
result[id]['documents_status'] = True
self.documents_status = True
else:
result[id]['documents_status'] = False
self.documents_status = False
return result
员工中的kanban
视图发生错误
Expected singleton: hr.employee(1, 2).
谁能帮我解决这个问题,在此先感谢。
我不知道hr.employee
和hr.employee_documents
之间的关系。如果这个是 One2many
(一个唯一雇员的许多文档),hr.employee
模型中必须有一个指向 hr.employee_documents
的 One2many
字段。假设此字段名为 documents
(这对于通过 api.depends
触发计算方法很重要)。然后写这段代码:
@api.multi
@api.depends('documents.date_expiry')
def getdocumentStatus(self):
server_date = datetime.datetime.strptime(DATE_NOW.strftime("%Y-%m-%d"), "%Y-%m-%d")
for record in self:
totaldoc = self.env['hr.employee_documents'].search_count([('date_expiry', '<', server_date),('employee_doc_id','=', self.id)])
if totaldoc > 0:
record.documents_status = True
else:
record.documents_status = False
你应该把两个模型之间的关系写给我们,以便给你一个准确的答案。