Skip to Content
Menu
This question has been flagged
1 Odpoveď
6535 Zobrazenia

I have to take the count of number of item in my invoice_line in my invoice

    <section>
        <para>[[repeatIn(o.move_lines,'line')]]</para>--------------->here I am creating the object
    <blockTable>
      <tr>
        <td>
          <para style="terp_tblheader_General_Centre1">[[ reduce(lambda x, obj: x+obj.line , list , 0 ) ]] </para>-------------------->expression to return the number of line in my invoice
        </td><t/r></blocktable></section>

so my desired output should be like this

  |  location  |          code     |        product     |     qty

       House1              10                   ipad                 1   

       House2              25                   iphone              2  

                                                          ----------------------------

                                                         total                    3 ------------------------>For this how to use lambda function..In RML report    

Avatar
Zrušiť
Best Answer

Hi,

Lambda is the python function and you can use eeasily all the python function in the RML.

but if you need to count the no of lines of the invoice then you can pass one method which is called from the RML and revert the answer form the report's py file

i.e.

[[repeatIn(o.move_lines,'line')]] this is your rml loop for the invoice line. now you just need to call one method in the loop so it will count the and revert from the py side to rml and you will have your desired output

Avatar
Zrušiť
Autor

thanks for your answer, but i directly create a function in python and call it in my rml report like this, def _sum_qty(self): total = 0 for line in picking.move_lines: total+=line.product_qty str(total) print total return total

Related Posts Replies Zobrazenia Aktivita
1
jún 22
6705
3
jan 21
24961
2
jún 21
6413
1
júl 20
6934
1
jan 18
10713