Como crear un reporte

Tecnicos ›› FAST REPORT ››
Parent Previous Next

COMO CREAR UN REPORTE

En primer lugar debemos configurar el reporte en el sistema UNIRE como se explicó en el punto 1.

Para nuestro ejemplo tendremos las siguientes tablas y relaciones

Luego al hacer click con el mouse sobre el icono o botón que llama al reporte,

 y al estar habilitado como supervisor(PS) se nos abrirá la pantalla de FastReports, para poder trabajar en dicho reporte. Como el reporte no existe, UNIRE lo crea y se nos presenta totalmente vacio.

A continuación seleccionamos la opción de menú “Archivo – Añadir Página”

Se nos presenta la solapa Page1 sobre la cual ahora podremos construir el reporte.

Al lado de ésta solapa tenemos la solapa Código donde podremos escribir código de programación en Pascal o C (más adelante veremos algo)y la solapa Datos la cual no utilizaremos ya que las tablas y relaciones las abrimos desde UNIRE.

Las tablas y los campos a utilizar se nos presentan a la derecha bajo la solapa Datos.

Comenzando con el diseño del reporte agregamos sobre Page1 “Cabecera de página” para lo cual seleccionamos  que nos desplegará un menu

Y elegimos “Cabecera de página”

Nos agrega PageHeader donde podremos colocar una imagen  eligiendo  y un título

Al título podremos darle formato eligiendo sobre la barra de herramientas

La primer banda de datos que debemos agregar es “Datos Maestros” que lo realizamos como anteriormente lo hicimos con “Cabecera de página” y nos pide

que seleccionemos una tabla, aquí seleccionamos la tabla principal  que para nuestro ejemplo es REPOR_ET. En la cantidad de registros a mostrar (Número de registros), dejamos el valor 0 ya que imprimiremos todos los registros que contenga la tabla REPORT_ET.

Esta tabla contiene los ID de cada uno de los recibos que se nos mostraba en el browse, y como se relaciona con CRECIMPU la cual contiene los datos de cabecera de cada uno de los recibos.

Para mostrar dichos datos arrastraremos desde la derecha del árbol de datos los campos a mostrar, por ejemplo de CRECIMPU traemos NUMERO, REFEREN e IMPORTE

Ajustamos el tamaño de los campos Memos y como CRECIMPU.IMPORTE es numérico le damos un formato de salida. Para esto hay 2 formas FORMATO GENERAL y FORMATO INDIVIDUAL, usaremos FORMATO GENERAL presionando sobre el Memo CRECIMPU.IMPORTE botón derecho del mouse y en el menú que se nos presenta seleccionamos FORMATO DE VISUALIZACION – NUMERO y el formato elegido, aceptamos y listo.

Si presionamos sobre  Vista Previa, tendremos una visión del informe.

Debemos tener la precaución de grabar antes, ya que si cometemos un error grave se nos cerrará el informe y perderemos todo lo trabajado.

Continuando con el informe agregaremos el pie de página (PageFooter) para lo cual seleccionamos  y en el menú que nos presenta Pie de Página.

Ahora vamos a poner en este pie la fecha, donde queremos que se nos presente de la siguiente forma:

Emisión, 5 de Julio de 2013

Para esto elegimos a la derecha la solapa Variables y arrastramos la variable Date al pie de página; editamos el Memo haciendo doble click sobre éste. Allí escribimos Emisión, [Date] y para darle formato a la fecha posicionamos el cursor entre  la letra e y el  corchete  ] y elegimos  

Y donde dice Formato Texto escribimos   dd ‘de’ mmmm ‘de’ yyyy,  aceptamos y nos debe queda de la sigte. Forma:            Emisión, [Date #ddd 'de' mmmm 'de' yyyy]    luego aceptamos y listo.

Notar que en lugar de aaaa para el año, pusimos yyyy.

EVENTOS – FUNCIONES - VARIABLES – ATRIBUTOS

Vamos a llamar un evento para que en el código, el cual lo escribiremos en Pascal, acumulemos totales por ESTADO de los recibos y llamaremos una función de UNIRE la cual nos devuelve el interés resarcitorio si correspondiere.

Para esto ingresamos a la opción de menú (Informe – Variables), donde crearemos las variable RESARCI, TOTACTIVOS, TOTOTROS, creando en primer término la categoría y luego las variables.

Las variables TOTACTIVOS y TOTOTROS en Expresión colocaremos el número 0 (cero) con lo cual estamos inicializando estas variables, para RESARCI no es necesario pero si la inicializamos no habría problema.

Cerramos esta ventana haciendo click sobre  para que guarde lo que hemos realizado.

Seleccionamos MasterData1, solapa a la izquierda Eventos y sobre OnBeforePrint haremos doble click, lo cual nos llevará a la solapa de códigos creándonos una procedure para que nosotros podamos ingresar el código que queramos.

Entre procedure y end; ingresaremos nuestro código.

Begin y end. Deben estar siempre presentes.

La función CallHbfunc llama una función interna de UNIRE, “InteresRecibos”, la cual nos devuelve el cálculo del resarcitorio si el recibo esta vencido. Como parámetro se le pasa el ID del recibo y la fecha a la cual queremos calcular el interés, en este caso es la actual.

La lógica de funcionamiento es la siguiente:

Por cada registro de la tabla REPOR_ET antes de imprimir (OnBeforePrint) se evaluará el procedimiento creado “procedure MasterData1OnBeforePrint” y luego mostrará la línea indicada en MasterData1.

En la solapa Funciones podemos ver todas las funciones con su descripción.

De esta forma podemos escribir todos los procedimientos (procedure) que necesitemos.

Ahora como hicimos con la banda de datos vamos a agregar el pie (Footer) y allí colocaremos los totales; para lo cual  insertamos un Memo haciendo click sobre  y arrastrando el puntero del mouse hasta la posición que queramos dentro del Footer. Se nos abrirá una ventana donde colocaremos

Recibos Activos: [TOTACTIVOS]

Para realizar esto escribimos   Activos: y luego seleccionamos  y se nos abrirá

Donde elegiremos la solapa Variables y a continuación doble click sobre la variable TOTACTIVOS y aceptamos.

Colocaremos otro total bajo la columna de importe para lo cual seleccionamos  y nos movemos hasta la columna donde mostramos CRECIMPU.IMPORTE, a continuación se nos presenta

En la cual haremos lo siguiente

Esto nos suma todos los campos IMPORTE  de la tabla CRECIMPU mostrados en la banda MasterData1.

Algo a tener en cuenta es que este total debe estar incluido en un Footer.

Además podríamos agregar una cabecera al MasterData1 para colocar los títulos de cada campo, para lo cual vamos a  y seleccionamos Cabecera (Head). El head será posicionado al final del reporte, lo arrastramos hasta ponerlo sobre el MasterData1 y escribimos los títulos.


Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator