Is it possible get variable value from loop?
For example:
<t t-set="flag" t-value="False"/>
<!-- flag now False -->
<tr t-foreach="o.lines" t-as="line">
<td><span t-field="line.name"/></td>
<td><span t-field="line.qty"/></td>
<t t-set="flag" t-value="True"/>
<!-- flag now True -->
</tr>
<!-- flag again False -->
Variable flag inside loop is different from variable flag outide. How send information outside loop?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Financeiro
- Inventário
- PoS
- Project
- MRP
Esta pergunta foi sinalizada
There is a GitHub Issue #4461 on this problem.
UPDATE: A patch to v8 was released and some good programming suggestions were made by Olivier on how to avoid using loops.
Updated my answer with the patch.
Thank you Stephen Mack !
As a workaround we can use:
1) If you can insert output in last iteration then use like:
<t t-set="total" t-value="0" />
<t t-foreach="o.order_line" t-as="line">
<t t-set="total" t-value="total+line.quantity" />
<t t-if="line_last">
<t t-esc="total" />
</t>
</t>
2) If you can't insert output in loop then use like:
<t t-set="total" t-value="sum([line.quantity for line in o.order_line])" />
Those are some ugly workarounds. But thanks for posting them.
I agree :(
Está gostando da discussão? Não fique apenas lendo, participe!
Crie uma conta hoje mesmo para aproveitar os recursos exclusivos e interagir com nossa incrível comunidade!
Inscreva-sePublicações relacionadas | Respostas | Visualizações | Atividade | |
---|---|---|---|---|
|
2
mar. 24
|
1451 | ||
|
0
set. 23
|
5115 | ||
|
1
ago. 17
|
9794 | ||
|
1
mar. 15
|
6082 | ||
How do you use variables in a Qweb loop?
Resolvido
|
|
11
abr. 23
|
92460 |
A patch and some ideas on how to calculate totals have been added to the github issue. https://github.com/odoo/odoo/issues/4461#issuecomment-72199618