Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
2 Respostas
6921 Visualizações

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
Cancelar
Melhor resposta

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
Cancelar

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

Melhor resposta

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
Cancelar
Autor

Did you also modify the RML file as herbert6453 mentioned?

Publicações relacionadas Respostas Visualizações Atividade
8
mai. 18
8455
3
jul. 24
8543
1
mar. 18
4435
0
abr. 17
3245
1
abr. 17
4611