2017-01-19 6 views
1

Как в нижнем qweb отчете установить условие, когда скидка 0, если скидка не 0 работа хорошо.Odoo 9 qweb float division by zero

<td class="text-right"> 
     <span t-esc="l.price_unit-(l.price_unit/l.discount)"/> 
</td> 

  <td class="text-right"> 
       <span t-field="l.quantity"/> 
      </td> 
      <td class="text-right"> 
       <span t-field="l.price_unit"/> 
      </td> 
      <td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line"> 
       <span t-field="l.discount"/> 
      </td> 
      <td class="text-right"> 
       <span t-esc="l.price_unit-(l.price_unit/l.discount)"/> 
      </td> 

     </tr> 

Если скидка 0

<td class="text-right"> 
      <span t-esc="l.price_unit"/> 
</td> 

Элиф

<td class="text-right"> 
     <span t-esc="l.price_unit-(l.price_unit/l.discount)"/> 
</td> 

Любое простое решение?

ответ

2

Пожалуйста, взгляните на official documentation для двигателя шаблонов qweb. Существует условная конструкция там названа t-if

В вашем случае это должно работать:

<t t-if="l.discount == 0"> 
    <td class="text-right"> 
      <span t-esc="l.price_unit"/> 
    </td> 

</t> 

<t t-if="l.discount != 0"> 

    <td class="text-right"> 
     <span t-esc="l.price_unit-(l.price_unit/l.discount)"/> 
    </td> 

</t> 

Там нет оператора еще пока так что вам придется использовать два последовательных if s

Edit: В v10 создан оператор t-else, который вы можете использовать.