Odoo Help


Is there a way to filter lines in RML reports containing specific words or characters?

on 5/8/14, 10:12 AM 2,175 views

How can I use the python function "filter" to filter out lines in an RML report containing specific words or characters?

In my case, I would like to filter out from Invoice and Picking reports, lines containing the character ">" (this character is applied by the product_pack module to the "Children" product lines of a "Product Pack" )

This is an example of the function that appears in OpenERP's manual:

repeatIn(filter( lambda l: l.product_id.type=='service' ,o.invoice_line), 'line')

care to past the code here?

on 6/21/14, 7:21 AM

sorry, I didn't see your comment till now, I already received the answer below, but thanks anyway!

on 7/16/14, 4:14 AM



| 5 4 7
Bikaner, India

OpenERP Developer at SunARC Technology

On 6/23/14, 1:46 AM

Try the below code in RML File,

[[repeatIn(filter(lambda l: l.name.find('>')==-1, o.invoice_line), 'line')]]

The above code filter the record which name column contain a character '>'.



Serpent Consulting Services Pvt. Ltd.

--Serpent Consulting Services Pvt. Ltd.--
| 6 6 8
Gandhinagar, India
--Serpent Consulting Services Pvt. Ltd.--

Serpent Consulting Services Pvt. Ltd. Your Odoo/OpenERP Solution, just an email away!

Serpent Consulting Services Pvt. Ltd.
On 6/21/14, 12:05 PM

Preferably, you should write a function which passes the lines and the function should return the filtered line to RML parser.


On 7/15/14, 11:17 AM

Perfect, thanks Prakash, that's exactly what I was looking for! ..for some reason I didn't get notified, so I hadn't seen your answer till now.

I made a slight correction to your code ('l' instead of 'line' at the end): 

[[repeatIn(filter(lambda l: l.name.find('>')==-1, o.invoice_line), 'l')]]


Another quick question...how can I merge two filters? 

This one: [[repeatIn(filter(lambda l: l.x_printable_choice==0 ,o.invoice_line), 'l')]]

and the one above: [[repeatIn(filter(lambda l: l.name.find('>')==-1, o.invoice_line), 'l')]]


I'm not sure if I should start a new thread with the question...let me know if so


About This Community

This platform 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.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 5/8/14, 10:12 AM
Seen: 2175 times
Last updated: 3/16/15, 8:10 AM