在Qweb报告中添加两个值字段

时间:2016-09-06 04:29:59

标签: javascript xml report odoo qweb

对不起我的英文

我正在为Odoo发票撰写自定义Qweb打印报告,我的目标是添加o.amount_untaxed + tax_amount_by_group(仅限正值,不包括否定扣缴);这是我的代码:

<t t-set="total" t-value="o.amount_untaxed"/>
<t t-foreach="o._get_tax_amount_by_group()"
   t-as="amount_by_group">
  <small> <tr>
    <td> <span t-if="amount_by_group[0] == 'Taxes'">
      <span t-esc="amount_by_group[1]"/> </span> <br></br>
    <t t-set="total" t-value="unicode(o.amount_untaxed)+amount_by_group[1]"/>
    <t t-esc="total"/>
    </td>
  </tr> </small> <br></br>
</t>

但结果是(基于实际的DB记录):

Subtotal $ 4,644.95
Taxes $ 557.39

Taxes 4644.95$ 557.39
Witholding 4644.95$ -167.21
Witholding 4644.95$ -46.45

我的预期结果需要(基于实际的DB记录):

Subtotal $ 4,644.95
Taxes $ 557.39

Total $ 5202.34

总计是untaxed_amount +税(不包括预扣税)的结果;我真的尝试了很多方法而找不到合适的方法!

2 个答案:

答案 0 :(得分:0)

有一种税收计算方法。 总的来说,从模板调用一个方法,并在该调用中调用该方法。 税法将带有价值税额,小计和总额的字典返回。

获取所需的值并根据您的计算计算总数。

并返回该总数。

答案 1 :(得分:0)

使用Odoo的税收线怎么样?

<t t-set="total" t-value="o.amount_untaxed"/>
<!-- maybe use widget monetary -->
<t t-foreach="o.tax_line" t-as="t">
  <small> <tr>
    <td>
      <t t-if="t.amount &gt;= 0.0">
        <p t-esc="t.amount"/>
        <t t-set="total" t-value="total + t.amount"/>
      </t>
    </td>
    <td><t t-esc="total"/></td>
  </tr> </small> <br></br>
</t>