noticies / Desenvolupador

Traduccions i informació de l’usuari als informes Jasper

Fa poc hem millorat un parell d’aspectes del mòdul jasper_reports per a OpenERP, que trobareu a Bazaar.

Camp d’usuari

Una de les millores és l’addició d’un camp de relació virtual anomenat Usuari. Aquest camp nou dona al dissenyador d’informes accés a tota la informació relacionada amb l’usuari que executa l’informe, cosa especialment interessant en aquells documents que no tenen una relació directa o indirecta amb l’empresa, com ara les comandes de venda o compra i els albarans.

El camp Usuari afegit recentment, al final de la llista de camps del model stock.picking.

i18n a iReport

Una altra millora s’ha fet en l’àrea de traduccions. Per facilitar el disseny d’informes, hem modificat el codi Java perquè sigui possible utilitzar el nostre llenguatge i18ngroovy dins d’iReport. A continuació s’expliquen els passos per configurar iReport (les biblioteques es troben a jasper_reports/java/lib):

Afegir la biblioteca gettext

A Linux, aneu a Tools → Libraries, feu clic a New Library..., establiu Library Name com a i18n i afegiu el JAR gettext-commons-0.9.6.jar.

Configuració de la biblioteca gettext a Linux.

Afegir la biblioteca i18n

Aneu a Tools → Options → Classpath. A Linux, afegiu el JAR i18n.jar. A Windows, afegiu també el fitxer gettext-commons-0.9.6.jar incorporat en el pas anterior.

Configuració de la biblioteca i18n a Linux.

Afegir la propietat i18ngroovy

Aneu a Tools → Options → Jasper Properties i afegiu una propietat anomenada net.sf.jasperreports.compiler.i18ngroovy amb el valor com.nantic.jasperreports.I18nGroovyCompiler.

Addició de la propietat i18ngroovy.

Tingueu en compte que els usuaris de Windows poden comprovar que aquesta propietat no es recorda quan es reinicia l’aplicació, almenys amb la versió 3.5.3, i per tant l’han de tornar a establir cada vegada que s’obre iReport. Esperem que els desenvolupadors d’iReport ho solucionin en versions futures.

Establir l’idioma de l’informe

Un cop configurat tot, podeu utilitzar el nou llenguatge i18ngroovy als vostres informes.

Establiment de l’idioma de l’informe a i18ngroovy.

Ús

Ara podeu utilitzar lliurement el conjunt de funcions tr() per traduir els informes i previsualitzar-los dins d’iReport. Per exemple, en l’informe següent, la variable L es defineix així:

java $F{Idioma-lang} != null && $F{Idioma-lang}.length() == 5 ? new Locale($F{Idioma-lang}.substring(0,2), $F{Idioma-lang}.substring(3,5)) : ($F{Idioma-lang} != null && $F{Idioma-lang}.length() == 2 ? new Locale($F{Idioma-lang}.substring(0,2)) : $P{REPORT_LOCALE})

Ús de les funcions tr() a iReport.

Previsualització de l’informe a iReport.

Tingueu en compte que els informes que utilitzen Groovy en lloc d’i18ngroovy continuaran funcionant quan s’executin a OpenERP. Això només és necessari per previsualitzar informes que utilitzen el sistema de traducció de NaN.