Html 如何在不循环的情况下在odoo报告中添加静态字段?
我需要为每个员工打印一份时间表报告,我需要在标题处而不是列单元格上显示员工姓名,因为它将在每一行中重复,我不需要 我试图使用Html 如何在不循环的情况下在odoo报告中添加静态字段?,html,css,report,odoo,qweb,Html,Css,Report,Odoo,Qweb,我需要为每个员工打印一份时间表报告,我需要在标题处而不是列单元格上显示员工姓名,因为它将在每一行中重复,我不需要 我试图使用,但它显示的名称太多了 <template id="19011.employee"> <t t-call="web.html_container"> <t t-call="web.external_layout"> <div class="page">
<template id="19011.employee">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<div class="page">
<div class="text-center">
<h2> <strong>TIME SHEET</strong>
</h2>
<h2>
<tr t-foreach="docs" t-as="o">
<span t-field="o.employee_id" />
</tr>
</h2>
</div>
<table class="table table-condensed" bgcolor="#875A7B">
<tr>
<th> check in</th>
<th> check out</th>
<th> Total</th>
</tr>
<tr t-foreach="docs" t-as="o">
<td>
<t t-esc="o.check_in" />
</td>
<td>
<t t-esc="o.check_out" />
</td>
<td>
<t t-esc="o.total" />
</td>
</tr>
<tr bgcolor="#875A7B">
<td align="center"> <strong> Total Hours</strong></td>
<td></td>
<td>
<strong t-esc="sum([o.total for o in docs])" />
</td>
</tr>
</table>
</div>
</t>
</t>
</template>
时间表
登记入住
退房
全部的
总小时数
好的,让我们尝试一个简单的解决方案。如果所有时间表都是针对一名员工的,您可以通过访问第一条记录来显示其姓名
<div class="text-center">
<h2> <strong>TIME SHEET</strong>
</h2>
<h2>
<t t-if="docs">
<!-- in case employee don't have any attending records you dont want to get index error -->
<span t-field="docs[0].employee_id" />
</t>
</h2>
</div>
如果有不止一张唱片,我最喜欢的就是团队合作
记录
由员工
使用字典
。但我喜欢这样做
使用python
。所以我所要做的就是在考勤
要循环记录并创建字典
,请调用
方法,并使用两个循环打印该字典
@api.mutli
def集团员工(自我):
“”“按员工分组记录。”“”
结果={}
对于rec in self:
如果结果中记录了员工id:
结果[rec.employee\u d]。追加(rec)
其他:
结果[rec.empoloyee_id]=[rec,]
返回结果
和在报告中,如果你想显示雇主PAR页面:
你能不能放一张能准确显示你需要的图片,你可以用一个工具来画报告应该是什么样子的我们不知道报告应该是什么样子的,为两名员工做这件事更好我添加了一张截图你想让报告看起来像那样,或者你只想看到员工一次,然后在他的名字后面你会看到他的登记表。在那之后,第二位员工的名字等等。亲爱的,如果你能给我一个解决方案,那么两个解决方案通过第一个记录运行良好。如果有多个员工,你会帮我一个大忙
<t t-set="first_record" t-value="docs[0]"/>
<span t-field="first_record.employee_id" />