miércoles, 24 de julio de 2013

lunes, 1 de julio de 2013

Como generar un reporte en GeneXus?

Los reportes son muy útiles actualmente para la vida de las aplicaciones web que tanto están surgiendo acorde a las nuevas tecnologías y necesidades del usuario.

Para esto la empresa uruguaya GeneXus es muy competente y va a la vanguardia de estos nuevos métodos de generación de reportes para la cuál con pequeños pero importantes pasos se crean reportes de gran funcionalidad y enfocado a las tareas necesarias de cada empresa, trabajador independiente y/o usuarios.

Pasos para elaborar un reporte en genexus:

1- Crear un objeto nuevo, elegir reporte y asignarle un nombre.
2- Seleccionar Insert from Trn si deseamos hacer un reporte de una o varias tablas completas
2.1 - Seleccionar Insert Attribute si solo se desea escoger ciertos campos de una tabla
3- Dar siguiente hasta llegar al "Font", allí modificamos y ponemos el tamaño de la fuente que querramos
4- Nos vamos a las propiedades del reporte y le damos los siguientes cambios:
4.1- Main program: TRUE
4.2- Call Protocol = HTTP
4.3- Report OutPut = “Only to File”
5- Al finalizar se genera código automáticamente
6- En reglas debemos de digitar le siguiente código: Output_file("Nombre_Reporte.pdf", "PDF"); --Tenemos que poner la extensión del reporte ya que genexus no lo genera automaticamente
7- Se "clickea" specify selected y luego Generate
8- Se "clickea" buil all y luego Generate
9- Se  "clickea" Execute -> Select All -> Compile -> Developer Menu -> Compile & Execute


Nota:
1- Antes debemos de iniciar nuestro Tomcat.
2- Se debe de tener bien configurado Genexus con Java.
3- Preferiblemente trabajar en Prototype y no en Design.

Si no lo querememos como Main program si no en un boton del wep form llamado reporte por ejemplo, a eso botón se le agrega el siguiente código:

Event 'Reporte'
&factura=InvoiceID
RReporteInvoice.Call(&Factura)
EndEvent  // 'Reporte'

Donde el evento se llama reporte
el parametro factura ess igual a invoiceid que es la llave primaria de la tabla base
R->Reporte'Nombre_reporte.Call(&parametro) si no hay parametros los paréntesis quedan vacíos'
Fin del evento