Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
3 Відповіді
7851 Переглядів

Hi all,

In a QWeb report I am trying to retrieve a product template that is the template referenced from a certain selected variant.

As product_tmpl_id is the field on a product variant level referring to the template, I want to fetch the selected variant and then get the linked template.


<!-- GET TEMPLATE DATA BASED ON FIRST SELECTED VARIANT -->

<t t-set="prod_obj" t-value="request.registry['product.template']"/>

<t t-set="var_obj" t-value="request.registry['product.product']"/>

<t t-set="prodvar" t-value="var_obj.browse(request.cr, uid, [('id','=',doc_ids[0])])" />


The prodvar variable is properly set and retrieved.  It returns product.product(('id', '=', 19),) when I select the variant with ID=19

The following line however gives an error :

<t t-set="prodtemp" t-value="prod_obj.browse(request.cr, uid, [('id','=',prodvar.product_tmpl_id)])" />

Also this alternative gives an error :

<t t-set="prodtemp" t-value="prod_obj.browse(request.cr, uid, [('id','=',prodvar.product_tmpl_id.id)])" />


Thanks so much for any tips.  I guess it must be fairly simple to solve but don't seem to find it myself :-)

Seppe

Аватар
Відмінити
Найкраща відповідь

Hi,

You can try this one.

<t t-set="prod_obj" t-value="request.registry['product.template']"/>
<t t-set="var_obj" t-value="request.registry['product.product']"/> 
<t t-set="prodvar" t-value="var_obj.browse(request.cr, request.uid, doc_ids[0])" />

and if you need to search records then search like,

<t t-set="prodtemp" t-value="prod_obj.search(request.cr, request.uid, [('id','=',prodvar.product_tmpl_id.id)])" />

The problem is you are passing Domain in browse method.

Hope this one help you.

Аватар
Відмінити
Найкраща відповідь

Hello All,

Thank you @ Jusab, +1.

For odoo version 11, You can use below code.

<t t-set="prod_obj" t-value="request.env['product.template']"/>

<t t-set="prodtemp" t-value="prod_obj.search([])" />

<t t-foreach="prodtemp" t-as="prod">

<t t-esc="prod.name"/>

</t>

Hope above code will be helpfully.

Best Thanks,

Ankit H Gandhi.

Аватар
Відмінити
Автор Найкраща відповідь

Thanks Jusab,


All clear now and working :-)

tx

Seppe

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
8
груд. 23
21964
1
трав. 24
2948
0
лип. 17
3545
1
квіт. 25
1029
2
бер. 25
1159