Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
3 ตอบกลับ
7994 มุมมอง

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 ตอบกลับ มุมมอง กิจกรรม
Qweb - Drop trailing 0's after decimal แก้ไขแล้ว
8
ธ.ค. 23
22131
1
พ.ค. 24
3133
0
ก.ค. 17
3605
1
เม.ย. 25
1199
2
มี.ค. 25
1332