2017-08-09 9 views
1

ツリービューで合計行が必要な場合は、条件を追加することが可能です!ツリービューで合計odoo 9

私のツリービュー:

row | field_1 |フィールド2

1 | 8 |メッシュ

2 | 8 |メッシュ

3 | 8 |ロナウド

4 | 8 |ロナウド

どう合計私は32

<span t-esc="sum(line.field_1 for line in doc.my_ids)" widget="float_time"/> 

どれ解を得るだけメッシのためにのみロナウドのために、以下のスパンで16

を引き起こすますか?

<span t-esc="Messi"/> 16 
<span t-esc="Ronaldo"/> 16 
+0

あなたはそのためのコードを書く必要はありません。ビューから 'field_2'でグループ化することができます。ですから、Odooは自動的にfield_1の合計値を計算します – qvpham

+0

@julivico qwebの結果が必要です。 –

+1

ああ。 Qwebの場合、このリンクからこの例を見ることができます[https://www.odoo.com/forum/help-1/question/how-to-group-by-product-category-in-qweb-report-102920] (https://www.odoo.com/forum/help-1/question/how-to-group-by-product-category-in-qweb-report-102920) – qvpham

答えて

3

あなたはグループfield_2によると比べて、あなたの行は、各playerためfield_1の合計を計算することができます。

<t t-set="players" t-value="[]"/> 
<t t-foreach="doc.my_ids" t-as="l"> 
    <t t-set="players" t-value="players+[l.field_2]"/> 
</t> 
<t t-foreach="set(players)" t-as="player"> 
    <p> 
    <span t-esc="player"/> 
    <t t-set="sum_goal" t-value=0/> 
    <t t-foreach="doc.my_ids" t-as="l"> 
     <t t-if="player==l.field_2"> 
      <t t-set="sum_goal" t-value=sum_goal+l.field_1/> 
     </t> 
    </t> 
    <span t-esc="sum_goal"/> 
    </p> 
</t> 

playersfield_2リストです。重複を削除するには、set()を使用する必要があります。