【问题标题】:Odoo - qweb reportOdoo - qweb 报告
【发布时间】:2021-02-12 12:17:17
【问题描述】:

我想创建一个 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>

但它只显示一张票。

谢谢

【问题讨论】:

    标签: odoo


    【解决方案1】:

    您的代码应如下所示:

    <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"/>
    

    【讨论】:

      【解决方案2】:

      解决了:

      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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多