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>