Reportes con imágenes en idempiere

189 views
Skip to first unread message

raizely...@gmail.com

unread,
Jan 18, 2018, 7:24:46 AM1/18/18
to iDempiere-es
Buenos Días, espero que estén bien. Tengo un problema y me gustaría saber si alguien me puede ayudar.

Realice un reporte .jasper colocándole imágenes y al adjuntarlo al idempiere me da error con la imagen. Como solucionaría eso?

Miguel A. Orea

unread,
Jan 18, 2018, 12:24:01 PM1/18/18
to iDempiere-es
Buenos dias.

Yo en lo personal he utilizado tres parametros en los reportes RECORD_ID, SUBREPORT_DIR, REPORT_LANG

A las imagenes dentro de jasperreport le agrego el parametro SUBREPORT_DIR, ejemplo de la expresion  $P{SUBREPORT_DIR} + "imagen.gif"

Los archivos los adjunto al proceso tanto los de jasper como las imagenes

Espero esto te sea de utilidad

Luis Amesty

unread,
Jan 18, 2018, 5:13:52 PM1/18/18
to iDempiere-es
Si la imagen está en un archivo:
Puedes utilizar la variable $P{RESOURCE_DIR}:

$P{RESOURCE_DIR}+ "logo_tamanaco2.jpg"

A un elemento tipo imagen.
La Imagen la Anexas junto con el archivo del reporte (jrxml)

Y te funciona

Si la Imagen esta encapsulada en la Base de datos:
Puedes usar un campo imagen de la tabla ad_image, por ejemplo en el QUERY 
los campos cli_logo y org_logo son las imagenes de los logos del grupo empresarial y la organización.

Debes asignarlo a un objeto (java.io.InoutStream) 
Jasper coloca por defecto en la Variable  java.lang.Object y debe cambiarlo cuando haces 'Read Fields'

Anexo un ejemplo de query:

     SELECT 

      org.ad_client_id as org_client, org.ad_org_id as org_org,

  coalesce(org.name,org.value,'')  as org_name,

  orginfo.taxid  as org_taxid,

   img1.binarydata  as cli_logo,

           img2.binarydata as org_logo,

           cbp_g.name as grupo, 

    cbp.ad_org_id as org_bp, 

    cbp.name as nombre, cbp.taxid as rif_bp

    FROM adempiere.c_bpartner cbp

    INNER JOIN adempiere.ad_org as org ON (cbp.ad_org_id = org.ad_org_id)

INNER JOIN adempiere.ad_client as cli ON (org.ad_client_id = cli.ad_client_id)

INNER JOIN adempiere.ad_clientinfo as cliinfo ON (cli.ad_client_id = cliinfo.ad_client_id)

  LEFT JOIN adempiere.ad_image as img1 ON (cliinfo.logoreport_id = img1.ad_image_id)

INNER JOIN adempiere.ad_orginfo as orginfo ON (org.ad_org_id = orginfo.ad_org_id)

  LEFT JOIN adempiere.ad_image as img2 ON (orginfo.logo_id = img2.ad_image_id)


raizely...@gmail.com

unread,
Feb 15, 2018, 12:32:49 PM2/15/18
to iDempiere-es
Muchas Gracias por sus sugerencias; me sirvió de gran ayuda.


El jueves, 18 de enero de 2018, 8:24:46 (UTC-4), raizely...@gmail.com escribió:
Reply all
Reply to author
Forward
0 new messages