jueves, 28 de febrero de 2013

DBReport para RealBasic (I)

DBReport es un componente hecho en RealBasic para generar, editar e imprimir reportes en tiempo de ejecución; a diferencia del componente Report que viene con el RealStudio, el cual tiene funciones básicas para reporting sobre bases de datos, no tiene un editor en tiempo de ejecución, se pueden cambiar reportes en tiempo de diseño; esto adicionado a falta de grupos, fórmulas, parámetros y otras características me llevó a escribir este componente.

Estas son algunas de características más importantes:

* Edición de reportes en tiempo de ejecución.
* Prevista del Reporte.
* Vista de datos del RecordSet.
* Ancho, alto y márgenes de página configurables y/o importado desde impresora.
* Bandas cabecera y pié página, Introducción y resumen reporte.
* Bandas de grupos, n grupos.
* Etiquetas, campos, líneas, rectángulos, imágenes.
* Función suma, contador, subtotal.
* Fórmulas.
* Parámetros.


Para instalar el componente, agregamos todos los archivos, incluyendo imágenes, a nuestro proyecto cómo se muestra en el siguente video:

Unable to display content. Adobe Flash is required.

El componente se puede utilizar en su forma más básica:

  Dim f as FolderItem= SpecialFolder.Documents.Child("DBReport.xml")
  Dim rpt As New DBReport
 
  If f.Exists Then rpt.LoadXML(f)

  rpt.RecordSet= rs
  rpt.Designer
  rpt.SaveXML(f)

Se presume que exista un RecordSet llamado "rs" (consulte la documentación de RealBasic) y que el componente DBReport esté en nuestro proyecto.

La primera línea declara un objeto f de nombre "DBReport.xml" (puede ser cualquier nombre de archivo válido) que se encuentra en la carpeta "Mis documentos" (en el caso de windows).

La segunda línea declara un objeto llamado "rpt" de tipo DBReport.

En la siguente línea carga el reporte desde el archivo sólo si existe, esto es conveniente la primera vez que ejecutamos el reporte, pues el archivo no existe en ese momento.

El siguiente comando asigna el objeto RecorSet (antes declarado e inicializado) al objeto reporte.

El siguiente comando muestra una ventana con el diseñador DBReport. en esta ventana es que cambiamos nuestro reporte.

Y el último comando graba lo que acabamos de cambiar en el objeto "f" que es nuestro archivo.

Aquí podemos ver el anterior código:

Unable to display content. Adobe Flash is required.

En próximos artículos veremos los cómo diseñar reportes, por el momento quiero aclarar algunos conceptos:

* Los archivos que genera DBReport están en formato XML y pueden colocarle el nombre y la extensión que quieran.

* El Componente no graba automáticamente, es responsabilidad del programador, por ejemplo al utilizar el método "SaveXML" o al clic en "actualizar" (hay que escribir código para que grabe). Se puede utilizar este punto para escribir un código para por ejemplo "Guardar cómo...".

* Necesitan incluir los archivos generados por DBReport en su app para poder utilizarlos.


La información se proporciona "como-está". Todas las marcas, logos, etc pertenecen a sus respectivos dueños.

No hay comentarios:

Publicar un comentario