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')
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
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
|Asked: 5/8/14, 10:12 AM|
|Seen: 1719 times|
|Last updated: 3/16/15, 8:10 AM|