WidgetImage
ExtendedReport incluye dos widgets para insertar imágenes en el informe:
image: inserta una imagen cuya ruta se indica directamente.imageproduct: variante deimageque localiza automáticamente la imagen de un producto a partir de su referencia.
🖼️ Widget image
Inserta una imagen (JPG, PNG o GIF) en la posición de la columna. El tamaño de dibujo lo determinan el width y el height de la columna.
<column posx="20" posy="20" width="80" height="80">
<widget type="image" value="/ruta/a/la/imagen.png" resize="true" />
</column>
Atributos específicos:
valueofieldname: ruta del archivo de imagen. Convaluese usa una ruta fija; confieldnamese obtiene la ruta del campo del registro.resize: si estrue, genera una miniatura ajustada alwidth/heightde la columna y la cachea enMyFiles/Tmp/Thumbnails/. Por defectofalse.align: alineación de la imagen dentro de la celda. Por defectocenter.angle: rotación en grados (0–360). Por defecto0.padding: margen interior. Por defecto5.
📦 Widget imageproduct
Variante de image que, a partir de la referencia de un producto (en value o fieldname), localiza su imagen asociada y la pinta. Muy útil para catálogos o fichas con foto del artículo.
<column posx="20" posy="20" width="80" height="80">
<widget type="imageproduct" fieldname="referencia" resize="true" />
</column>
Hereda todos los atributos de image. Internamente:
- Busca la variante del producto por su
referencia. - Obtiene la imagen asociada (prioriza la imagen específica de esa referencia; si no existe, usa la imagen general del producto).
- Si no encuentra ninguna imagen o archivo, no pinta nada (falla en silencio).
📌 Ejemplos
Logo de la empresa en la cabecera (ruta fija):
<column posx="20" posy="10" width="120" height="60">
<widget type="image" value="/Plugins/TuPlugin/Assets/Images/logo.png"
resize="true" align="left" />
</column>
Imagen del producto en el detalle (obtenida de la referencia del registro):
<column posx="20" posy="5" width="60" height="60">
<widget type="imageproduct" fieldname="referencia" resize="true" align="center" />
</column>
Imagen desde campo del modelo (ruta dinámica por registro):
<column posx="20" posy="5" width="80" height="80">
<widget type="image" fieldname="rutaImagen" resize="true" />
</column>