簡體   English   中英

QWeb中的Foreach報告XML Odoo 8

[英]Foreach in qweb report xml Odoo 8

我想顯示這樣的數據:

No | Code | Brand | Cost 
------------------------
 1 |  201 |       |
------------------------
   |      |   A   | 200
   |      |   B   | 350
------------------------
 2 |  202 |       |
------------------------
   |      |   C   | 100
   |      |   D   | 110

這是我在py和xml中的代碼:

py中的代碼:

report=self.env['report']
document=self._get_pos_report_one(data)
docss=self._get_pos_report_two(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,
      'docs':document,
      'docss':docss}
return report.render('report.report_sales', data)

xml中的代碼:

<tr t-foreach="docs" t-as="row" class="line_bottom line_top pb_font_10 text_bold">
    <td class="pb_text_center line_left">                                   
        <t t-set="num" t-value="num + 1"/>
        <t t-esc="num"/>
    </td>
    <td class="pb_text_left line_left">
        <span t-esc="row['code']"/>
    </td>

    <tr t-foreach="docss" t-as="row_detail" class="pb_font_10">
        <td class="pb_text_center line_left">
        </td>
        <td class="pb_text_left line_left">
        </td>
        <td class="pb_text_left line_left">
            <span t-esc="row_detail['brand']"/>
        </td>
        <td class="pb_text_left line_left">
            <span t-esc="row_detail['cost']"/>
        </td>
    </tr>
</tr>

這是我的代碼(py和xml)的當前結果:

No | Code | Brand | Cost 
------------------------
 1 |  201 |       |
------------------------
   |      |   A   | 200
   |      |   B   | 350
   |      |   C   | 100
   |      |   D   | 110
------------------------
 2 |  202 |       |
------------------------
   |      |   A   | 200
   |      |   B   | 350
   |      |   C   | 100
   |      |   D   | 110

我已經嘗試使用代碼-docss(row ['code'])-docss.code等。

希望有人幫助我。 謝謝!

我已經解決了這個問題:

<tr t-foreach="docs" t-as="row" class="line_bottom line_top pb_font_10 text_bold">
<td class="pb_text_center line_left">                                   
    <t t-set="num" t-value="num + 1"/>
    <t t-esc="num"/>
</td>
<td class="pb_text_left line_left">
    <span t-esc="row['code']"/>
</td>

<tr t-foreach="docss" t-as="row_detail" class="pb_font_10">
  <t t-if="row['code']==row_detail['code']">
    <td class="pb_text_center line_left">
    </td>
    <td class="pb_text_left line_left">
    </td>
    <td class="pb_text_left line_left">
        <span t-esc="row_detail['brand']"/>
    </td>
    <td class="pb_text_left line_left">
        <span t-esc="row_detail['cost']"/>
    </td>
  </t>
</tr>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM