{% load static %}
Card image cap

Formato de datos

Los reportes de ReportBro aceptan los datos mediante un diccionario o un contexto (como una función vista). Cada parámetro del contexto, por lo tanto, se define con su nombre (dato irrepetible y que debe coincidir con el definido durante el diseño del reporte) y su información (un texto, número, fecha, imagen, lista simple de elementos o de objetos.) Los Objetos dentro de una lista se deben definir como un diccionario para que el Reporte puede reconocer sus atributos.

Card image cap

Función convert_list_to_dict()

Esta función auxiliar se puede utilizar para cualquier clase de tipo Model cuyos campos deban estar en el reporte. Toma como parámetro una Query realizada con un Model de base de datos (hijo también de ReportModel) y lo convierte en una lista o colección para ser utilizada por un reporte.

Compatibilidad con tipos de campos complejos:
  • ImageFields (Formato de la imagen, solo soportable .png y .jpg)
  • DatetimeFields (Salida como un string con formato ISO)
  • No convierte relaciones ManyToMany, ManyToOne o OneToOne (Los datos de cada instancia deben ser los más simples posibles)
Card image cap

Función to_dict()

Esta función auxiliar tiene el mismo objetivo que la función convert_list_to_dict(), pero su funcionalidad se aplica a un solo objeto Model. Convierte una instancia de un clase Model pasada como parámetro en un diccionario de clave-valor entendible por el reporte. Soporta los mismos datos que la clase convert_list_to_dict().

Card image cap

Función convert_to_base64()

Esta función constituye una parte extra de la clase ReportModel, que puede ser utilizada por fuera de esa clase para convertir una imagen cualquiera a formato base 64. Este formato es necesario para que la imagen se muestre sin problemas en el reporte.

Se le deben colocar los parámetros pertinentes:
  • path (Ruta de la imagen)
  • format_image (Formato de la imagen, solo soportable .png y .jpg)

Función reportPDF() y reportXLSX()

Esta funciones permiten la exportación de los reportes en un fichero pdf y xlsx respectivamente, tomando en cuenta el reporte seleccionado y los datos pasados como parámetros.

Se le deben colocar los parámetros pertinentes:
  • request (Request que siempre se pasa como parámetros en las vistas)
  • code (Código que identifica el reporte que se quiere exportar)
  • data (Datos pasados como un contexto al reporte. Es un diccionario. Cada objeto pasado como contexto debe ser en sí un dato simple (string, int, date, etc) y un objeto convertido en un diccionario.)