Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
2 Vastaukset
6918 Näkymät

I'd like to be able to order invoice lines by product reference in Invoice report (account.account_invoices). Is it possible to use repeatIn function so that the list contain invoice line ordered by product reference?

Avatar
Hylkää
Paras vastaus

I don't know how to call the python build-in function "sorted" inside a rml file.

a) But you can define a own sort method in the account_print_invoice.py file.

add before the line report_sxw.report_sxw(

def sortByDefault_code(theList):
    theList.sort(key=lambda x: x.default_code, reverse=False)
    return theList  

self.localcontext.update({
    'sortByDefault_code':sortByDefault_code,
})

-- add the same spaces before def and self as already found before def in the account_print_invoice.py file

-- the shiftings in every line are important in python

b) change o.invoice_line to sortByDefault_code(o.invoice_line) in account_print_invoice.rml

<para style="terp_default_1">[[ repeatIn(sortByDefault_code(o.invoice_line),'l') ]]</para>

c) restart the openerp server

Avatar
Hylkää

Hi, Could you help me change the order on a Purchase order print so the order is in Scheduled Date (date_planned)? Many thanks.

Paras vastaus

Hi everybody,

I just tried the previous solution but it doesn't work. What I wanna do is sort my invoice lines by name.

Someone could help me ?

I tried with the following code :

def sortByDefault_code(account_invoice):
    account_invoice.sort(key=lambda x: x.name, reverse=False)
    return account_invoice  

self.localcontext.update({
    'sortByDefault_code':sortByDefault_code,
})

Thanks in advance.

JMB

Avatar
Hylkää
Tekijä

Did you also modify the RML file as herbert6453 mentioned?

Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
8
toukok. 18
8455
3
heinäk. 24
8542
1
maalisk. 18
4426
0
huhtik. 17
3242
1
huhtik. 17
4609