如何解决Odoo多个qweb报告共享一份论文
我有一份报告,应该在一张纸上打印多个工资单。
_get_report_values(self,docids,data=None)
函数使用AbstractModel返回值数据,其中data是一个列表,其中包含我想为每个报告循环的所有值。
这个想法是使用flexbox并使用bootstrap类在一篇论文中安排3列。 这个想法适用于大约5张工资单,但之后只打印1张工资单,占据整个页面。
我正在寻找实现这一目标的任何可能方式。
python代码的示例是:
from odoo import models,api
class AlpharamaPayslip(models.AbstractModel):
_name = 'report.employee_allowances.alpharama_payslip'
_description = 'Alpharama Payslip'
@api.model
def _get_report_values(self,data=None):
docs = self.env['hr.payslip'].browse(docids)
data = []
for doc in docs:
val = {
'name': doc.employee_id.name,'department': doc.employee_id.department_id.name,'payroll': doc.employee_id.payroll_no,}
data.append(val)
return {
'docs':docs,'data': data,}
我已经设法通过下面的XML代码创建此功能: 我删除了一些不必要的部分,仅维护了一个裸模板。
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data noupdate="0">
<template id="alpharama_payslip">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<div class="page d-flex" style="flex-wrap: wrap;">
<div class="row">
<t t-foreach="data" t-as="d">
<div class="col-4" style="height: 100%">
<div style="border-bottom: 1px solid black; padding: 10px 0;">
<div>
Name:
<t t-esc="d['name']" />
</div>
<div>
Department:
<t t-esc="d['department']" />
</div>
</div>
</div>
</t>
</div>
</div>
</t>
</t>
</template>
</data>
</odoo>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。