Odoo - qweb 报告
Odoo - qweb report
我想创建一个 qweb 报告来显示与产品相关的所有工单:
这是我的:
<report id="website_helpdesk_support_ticket.print_support_request"
model="helpdesk.support"
report_type="qweb-pdf"
string="Ticket"
name="website_helpdesk_support_ticket.support_report"
file="website_helpdesk_support_ticket.support_report"/>
<template id="website_helpdesk_support_ticket.support_report">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<h1>Information about the ticket:</h1>
<span t-field="doc.product.default_code"/>
...
<h1>Related Tickets</h1>
<t t-foreach="docs.filtered(lambda x: x.product.barcode == doc.product.barcode)" t-as="related_ticket">
<span t-field="related_ticket.request_date"/>
</t>
</t>
</t>
</template>
但它只显示了一张票。
谢谢
您的代码应如下所示:
<template id="website_helpdesk_support_ticket.support_report">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<h1>Information about the ticket:</h1>
<span t-field="doc.product.default_code"/>
...
<h1>Related Tickets</h1>
<t t-foreach="docs.filtered(lambda x: x.product.barcode == doc.product.barcode)" t-as="related_ticket">
<span t-field="related_ticket.request_date"/>
</t>
</t>
</t>
</template>
<template id="support_ticket_report">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-set="lang" t-value="o.user_id.lang"/>
<t t-call="website_helpdesk_support_ticket.support_report" t-lang="lang"/>
</t>
</t>
</template>
<report id="website_helpdesk_support_ticket.print_support_request"
model="helpdesk.support"
report_type="qweb-pdf"
string="Ticket"
name="website_helpdesk_support_ticket.support_ticket_report"
file="website_helpdesk_support_ticket.support_ticket_report"/>
解决方法:
p_tickets = fields.Many2many('helpdesk.support', 'product_ticket_rel', 'product_id', 'ticket_id', string='Tickets')
<t t-foreach="docs.product.p_tickets" t-as="related_ticket">
<span t-field="related_ticket.request_date" t-options ='{"format": "dd/MM/yyyy"}'/>
</t>
我想创建一个 qweb 报告来显示与产品相关的所有工单:
这是我的:
<report id="website_helpdesk_support_ticket.print_support_request"
model="helpdesk.support"
report_type="qweb-pdf"
string="Ticket"
name="website_helpdesk_support_ticket.support_report"
file="website_helpdesk_support_ticket.support_report"/>
<template id="website_helpdesk_support_ticket.support_report">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<h1>Information about the ticket:</h1>
<span t-field="doc.product.default_code"/>
...
<h1>Related Tickets</h1>
<t t-foreach="docs.filtered(lambda x: x.product.barcode == doc.product.barcode)" t-as="related_ticket">
<span t-field="related_ticket.request_date"/>
</t>
</t>
</t>
</template>
但它只显示了一张票。
谢谢
您的代码应如下所示:
<template id="website_helpdesk_support_ticket.support_report">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<h1>Information about the ticket:</h1>
<span t-field="doc.product.default_code"/>
...
<h1>Related Tickets</h1>
<t t-foreach="docs.filtered(lambda x: x.product.barcode == doc.product.barcode)" t-as="related_ticket">
<span t-field="related_ticket.request_date"/>
</t>
</t>
</t>
</template>
<template id="support_ticket_report">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-set="lang" t-value="o.user_id.lang"/>
<t t-call="website_helpdesk_support_ticket.support_report" t-lang="lang"/>
</t>
</t>
</template>
<report id="website_helpdesk_support_ticket.print_support_request"
model="helpdesk.support"
report_type="qweb-pdf"
string="Ticket"
name="website_helpdesk_support_ticket.support_ticket_report"
file="website_helpdesk_support_ticket.support_ticket_report"/>
解决方法:
p_tickets = fields.Many2many('helpdesk.support', 'product_ticket_rel', 'product_id', 'ticket_id', string='Tickets')
<t t-foreach="docs.product.p_tickets" t-as="related_ticket">
<span t-field="related_ticket.request_date" t-options ='{"format": "dd/MM/yyyy"}'/>
</t>