Questo modulo permette di creare facilmente complessi report utilizzando OpenOffice.org.
Con questo modulo è possibile:
Si trova a questo indirizzo ed è possibile scaricarlo con
bzr branch lp:~simone-orsi/report-openoffice/release-1.1
Troverete anche un modulo chiamato openoffice_report_samples contenente esempi su come creare report adatti.
report_openoffice ha bisogno che i seguenti pacchetti siano installati nel sistema:
Si possono installare tramite easy_install:
easy_install relatorio easy_install openoffice-python
PS: Dopo aver installato i 2 moduli, è necessario andare in:
Amministrazione -> Oggetti a basso livello -> Azioni -> Report XML
Selezionare il report desiderato e cambiare il “Tipo” da:
pdf => OpenOffice-pdf output
Nel caso di esportazione di materiale per conto lavorazione, a volte è necessario redigere un packing list (bolla o DDT) che riporti il valore di ogni voce ed il valore totale della merce. Mentre è semplice aggiungere ad ogni voce il costo unitario ed il costo complessivo, risulta più complesso affidare a python il compito di effettuare il calcolo del costo complessivo dell'intera merce, sommando quindi il valore di ogni singola voce. Si potrebbe pensare alla definizione di una variabile, a cui poi si deve sommare il valore di ogni singola voce, cosicché al termine della lista di voci sia possibile riportare il valore di tale variabile, tuttavia questa soluzione non risulta apparentemente implementabile, mentre risolve brillantemente il problema la funzione di python reduce(lambda) che consente di eseguire una funzione (ovvero una serie di operazioni) su una lista di oggetti.
#da o.move_lines posso ottenere, per ogni record, #il prezzo unitario: product_id.product_tmpl_id.standard_price #la quantità: product_qty #ed il valore complessivo reduce(lambda x, obj: x+(obj.product_id.product_tmpl_id.standard_price * obj.product_qty), o.move_lines , 0 ) #che può essere opportunamente formattato, in base alla localizzazione, attraverso la funzione formatLang #formatLang(reduce(lambda x, obj: x+(obj.product_id.product_tmpl_id.standard_price * obj.product_qty), o.move_lines , 0 ))
E' disponibile nella sezione Download -> Report un report di esempio per il packing list in cui è presente la funzione di calcolo del valore totale della merce.