Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Displaying many2many field using the report designer.

on 5/8/13, 10:06 AM 1,952 views

Is it possible to display a many2many field in the sale order print?

I would like to show the categories from the sale order on the quotation and the order confirmation. I do not know if it is even possible to use this field here.

The field I want to display is "categ_ids". The value is stored under the table crm_case_categ.

I have tried using: [[(o.categ_ids and o.categ_ids.name)]]

This keeps showing up as: browse_record_list(1)

I have also tried: [[repeatIn(objects,'o')]] [[repeatIn(o.categ_ids,'line')]] [[(o.categ_ids and o.categ_ids.name)]]

But this returns the same value.

Does anyone know how I can achieve this?


Sudhir Arya (SA)

--Sudhir Arya (SA)--
| 6 8 8
Ahmedabad, India
--Sudhir Arya (SA)--

Working as an OpenERP/Odoo developer and a Team Leader 

Top 5 Odoo contributor On Stackoverflow




Sudhir Arya (SA)
On 5/8/13, 10:12 AM

Try this;

[[repeatIn(objects,'o')]] [[repeatIn(o.categ_ids,'line')]] [[(line.categ_ids and line.categ_ids.name)]]

I am not sure but hope this will work.

Hello Sudhir, thank you for your very fast response. I appreciate you taking the time.

I used your suggestion, as is visible here: http://i.imgur.com/v9lLXlw.png

Right now it isn't displaying anything, but before I had fixed some syntax errors - it was displaying some weird symbols and faulty values. Those have all disappeared, but sadly the desired value is not being shown.

I still feel we're "on the right track" but not quite there.

on 5/8/13, 10:29 AM

Else you can create one method in parsing py and call it from report.

Sudhir Arya (SA)
on 5/8/13, 10:58 AM

I have never made a method before. I suppose I need to add this method to sale_report.py. I also figure I need to run this method under the report designer using the execute command.

So now I need to create this method first.

Would this be the right way to do it?

Example: class other_object_name2(osv.osv): _inherit = 'other.object.name' _columns = { 'other_fields': fields.many2many( 'actual.object.name', 'relation object', 'actual.object.id', 'other.object.id', 'Other Field Name'), } other_object_name2()

on 5/8/13, 11:36 AM
On 7/31/13, 11:36 PM

<para style="terp_default_9">[[ ', '.join(map(lambda x: x.name, order_line.taxes_id)) ]]</para>

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)


Asked: 5/8/13, 10:06 AM
Seen: 1952 times
Last updated: 3/16/15, 8:10 AM