Generador de Reportes.

Crea poderosos reportes de manera rápida y fácil sin necesidad de conocimientos de SQL ni de Programación, además puedes diseñar excelente presentación mediante Crystal Report.

AdaptaPro provee un asistente que te permite seleccionar las tablas que serán utilizadas y gracias al diccionario de datos podrás seleccionar fácilmente los vínculos con otras tablas, seleccionas los campos que necesitas, establecer los rangos y criterios para filtrar los datos que necesita que el usuario selección y mediante el botón “Crear” AdaptaPro crea la sentencia SQL y el código fuente DpXbase listo para ser ejecutado.

Previous
Next

Ficheros: Contiene el acceso a las opciones que permiten mantener los registros de las tablas que conforman el generador de reportes.

Grupos de Reportes: Permite crear un catálogo para la clasificación de reportes, facilitando la administración, ubicación y ejecución al estar en conjunto. Es posible crear un conjunto de reportes con un uso específico, para lograrlo es necesario asociarlos por medio de un código de grupo, permitiendo posteriormente presentarlos en una lista o browser para su ejecución.  Ejemplo: Todos los reportes creados para la gerencia de finanzas están asociados al grupo “Finanzas” y se requiere presentarlos en una lista para su ejecución, el sistema provee la función REPGRUPO(“NOMBRE”) que presenta todos los reportes de finanzas con el objetivo de solicitar la emisión de cualquiera de ellos.

Para definir un grupo de reporte, presione el botón  e introduzca los datos en los siguientes campos:

Código: Acepta (8) ocho caracteres y se refiere al código que identifica al grupo.

Descripción: Acepta (40) caracteres para representar al grupo.

A través del botón “Aceptar” es grabado el registro.  El botón “Cancelar”, cierra el formulario y regresa al editor de registros sin modificar o guardar la información.

Para asociar los grupos con los reportes, el formulario de identificación del reporte provee el campo “Código de Grupo”.

El acceso a la lista de reportes se realiza a través de un editor de registros “Browser” que muestra por cada reporte: Código, Descripción, nombre de la tabla principal y número de la aplicación asociada. Conjuntamente con la lista, se encuentra una barra de botones con los diversos accesos a las opciones que brinda el generador de reportes, dentro de ellas están:

Motor de Reportes: Explica las posibilidades de construir poderosos reportes de forma declarativa y el uso de todos los componentes disponibles, entre ellos la clase de objeto TPRINT y TREPORT creadas exclusivamente para el uso de impresión.

Consideraciones: Si la estructura de la consulta SQL del reporte posteriormente es modificada o alterada debe rediseñar los formatos en Crystal, ya que éstas estarán apuntando a consultas desactualizadas definidas en la versión anterior del reporte.

En ningún momento el sistema validará si el contenido del reporte Crystal es válido, cualquier error que genere Crystal Report deberá ser corregido en su propio editor.

Antes de crear el diseño en Crystal es necesario construir previamente el reporte Datapro y solicitar su ejecución, seleccionar salida para Crystal “Preview”, para que el sistema construya las tablas “DBF” que empleara el archivo “RPT” de Crystal que aun no existe. Inmediatamente acceda a Crystal Report e inicie el diseño del reporte, seleccione las dos tablas “Datos” y “Títulos”, “t0000000001.dbf”“t0000000001_.dbf” desde la carpeta “c:\dpaplicacion\crystal”. Recuerde que en Crystal debe seleccionar la opción de datos para emplear tablas “DBF”, luego indique la ruta de los datos y finalmente  para adicionar la tabla seleccionada en la lista de tablas que serán empleadas en la construcción del reporte.

Condiciones para el uso de Crystal Report con AdaptaPro:

Para construir reportes en Crystal el usuario debe poseer el entorno de diseño Crystal Report, el cual “NO” forma parte de los Sistemas Datapro y “NO”se encuentra incluido en el contrato de licencia de los Sistemas Datapro.

Es necesario instalar los Dll’s de Crystal Report en la ruta windows/system32 necesarios para ejecutar los reportes construidos bajo dicho entorno, el proceso de instalación del sistema los incluye y registra automáticamente en el equipo por el hecho de tener formatos ya prediseñados con extensión RPT y por razones de comodidad para el usuario, sin compromiso por parte de Datapro sobre su utilización y/o funcionamiento.

Para la creación de los reportes Crystal “*.rpt” incluidos en este producto ha sido empleada la versión 8.x en español. Otras versiones aun no han sido probadas con Datapro.

Cada archivo de diseño Crystal debe ser distribuido en todos los PC donde se ejecuta la aplicación Datapro sobre la ruta c:\dpaplicacion\crystal. Datapro no se encarga de esta función.

Los diseños incluidos han sido creados para visualizar y/o emplear el contenido de tablas DBF generadas por Datapro, obtenidas de cursores de datos suministrados por el gestor de base de datos.

Este manual no incluye información o explicación sobre la construcción o diseño de reportes en Crystal Report.

Ejecución del Reporte:

  • Fijar parámetros: Almacena total o parcial todos los valores incorporados como: rango, criterio y parámetros necesarios para la ejecución del reporte.  Estos valores serán recuperados para futuras ejecuciones presentando el formulario de impresión con los mismos valores encontrados en el momento de ser fijado.  estos valores son almacenados en un componente dataset que permitirá también recuperar los parámetros fijados desde otro PC.

Para fijar los valores, se presenta un dialogo con dos secciones: Componentes, que permite seleccionar: Rango, Criterio, Parámetros o Todos y la segunda sección permite seleccionar el modo de almacenamiento: Para este PC, para el usuario que lo ejecuta o para todos los PC o todos los usuarios.

Cuando se almacena el Rango o Criterio, conjuntamente se incluyen los operadores relacionales y lógicos empleados por cada uno de ellos. El parámetro se refiere a los valores del formulario de impresión distinto a Rango o Criterio, estos pueden ser: Dispositivo de Salida, archivo RPT de Crystal Report, modelo de impresora, etc.

  • Iniciar Parámetros: Vacía o borra todos los valores existentes en las casillas de las secciones Rango y Criterio, además presenta una ventana de dialogo que permite borrar del DataSet los valores previamente almacenados, evitando que en las futuras ejecuciones los valores de rango y criterio contengan algún dato.

Este formulario, presenta tres opciones: Rango, Criterio o Todos, permite indicar que componente será iniciado o blanqueado, si es seleccionado “Todos”, los valores de rangos y criterios quedaran vacíos.

  Borra del DataSet todos los valores almacenados para: Rango, Criterio y Parámetros del reporte, es decir; las nuevas ejecuciones del reporte presentarán Rangos y Criterio sin valores en las casillas.

Glosario de Términos:

Un reporte es, básicamente, un programa diseñado exclusivamente para mostrar información obtenida de la consulta o query de una o varias tablas, constituye una de las salidas de todo sistema. Las instrucciones que posee están diseñadas para proporcionar información distribuida en columnas y cada columna posee características que definen la presentación física del informe. La ejecución de reporte genera la presentación visual y modelada de la información solicitada. Las instrucciones del reporte definen: Encabezado, cuerpo compuesto de columnas, grupos o rupturas de control, totales y pié de página. Cada columna puede representar un campo de la consulta SQL o una expresión.

Conjunto de datos almacenados de manera estructural a través de una o varias tablas en un medio magnético (disco) haciéndose posible el acceso de manera sencilla, con la posibilidad de relacionarlos, ordenarlos en base a diferentes criterios, etc. Cada unidad de información almacenada se denomina registro; y cada uno de estos se compone por uno o varios subconjuntos de información denominados campos. Los campos están compuestos por cadenas de dígitos o caracteres y se clasifican según el tipo de información que almacenan.

Una tabla es una estructura de columnas y filas que almacena datos. Donde cada columna representa un campo, y el conjunto de campos componen un registro y cada registro obedece a datos específicos o únicos como, por ejemplo: Trabajador, Departamento, Cliente, Proveedor, entre otros.

Es una fila, o un conjunto de columnas. La serie de campos o datos que forman una información es lo que se denomina un registro. Los datos como nombre, apellido, cédula, edad, cargo, profesión y sexo de un trabajador, por citar sólo un ejemplo, conformarían la información pertinente al mismo. Cada dato se une para formar la información. Así pues, cada campo se une para formar un registro.

Los campos son las columnas de una tabla, y la unión de ellos conforman un registro. Almacenan diferentes tipos de datos, cada campo se identifica a través de un nombre y posee parámetros como: Tipo de información que almacena, longitud del campo, cantidad de decimales y en algunos motores de datos contiene reglas o condiciones. La longitud del registro lo conforma la sumatoria de todas las capacidades de cada campo.

Es el vinculo entre dos o más tablas, cada vinculo tiene una regla de deben cumplir las tablas involucradas “Identidad y relación”, es decir; todas las tablas enlazadas deben poseer elementos similares que facilite establecer la regla de enlace. Ejemplo: Relación entre trabajadores y departamentos.

La tabla de trabajador posee el campo COD_DPTO y la tabla departamento posee DEP_CODIGO, estos dos campos son comunes permitiendo la relación.

EL diccionario de datos posee registrada la relación entre todas las tablas de la base de datos, ofreciendo al usuario la posibilidad de seleccionar cualquier tabla con las relaciones disponibles sin necesidad de escribir ningún comando, así puede crear un reporte con tan solo seleccionar con Clic la tabla y las relaciones necesarias. Algunos motores de bases de datos ofrecen integridad referencial para los procesos de actualización o mantenimiento de registros.

Algunos motores de bases de datos ofrecen esta potente funcionalidad que consiste en establecer en cualquier tabla la relación con otra para así afectarlas directamente en caso que la tabla “Padre” sea actualizada. Esta funcionalidad se llama integridad referencial, ejemplo: Si existe una tabla de padres y esta relacionada con la tabla “Hijos” y la regla entre ambas se establece con el campo “apellido”, en caso de  ser cambiado el apellido del algún padre todos los hijos también cambian automáticamente el apellido o también en caso de eliminar algún registro de la tabla de “padres” también son eliminados los registros de las tablas “hijos”, esta labor la realiza de manera automática el gestor o motor de la base de datos, igualmente no es posible crear registros en la tabla “Hijos” si no existen padres  con quien relacionarlos.

Es la condición dada a un campo de la tabla que identifica a cada registro que requiera ser único en toda la tabla es decir que su valor no se repita, como por ejemplo el código del trabajador no puede permitir la creación de dos registros con el mismo código. Los motores de las bases de datos se encargan de hacer cumplir esta regla.

Todos los datos están representados mediante un identificador que permite acceder (escribir o leer) su contenido. Estos identificadores se denominan Variables y Campos; los cuales presentan los mismos tipos de datos que difieren sólo en el origen. Los campos son subunidades de información no volátiles y ubicados en los registros de las bases de datos que se encuentran en disco. La información de la variable es volátil y su contenido es manipulado directamente desde la memoria del computador.

Se deben conocer los diferentes tipos de datos que se pueden manipular. Estos datos se obtienen directamente de las bases de datos, de la ejecución de expresiones y de las variables creadas directamente por el usuario. Los tipos de datos son:

Numéricos: Están compuestos por dígitos (0123456789.), su valor es cuantitativo y se pueden obtener resultados mediante la aplicación de cualquier ecuación matemática.

Alfanuméricos: Están compuestos por cadenas de caracteres, no poseen valor cuantitativo, y sus expresiones deben estar encerradas o delimitadas entre comillas dobles (“”) o comillas sencillas (“). Ejemplo:

Fecha: La longitud de su contenido es fija, se presenta en el formato dd/mm/aaaa; donde “dd” se refiere al día, “mm” al mes y “aaaa” al año. Los datos tipo fecha aceptan la aplicación de sumas o restas.

Lógicos: Resultados booleanos obtenidos de una pregunta donde la respuesta es “Verdadero” o “Falso”. El valor verdadero se representa por la expresión.T.; y el valor falso por la expresión.F. El contenido de estas expresiones se emite asociándolas con la función de formato: F () o TRANSFORM ().

Cabe destacar que DataPro utiliza datos compatibles con el modo xBase para su entorno operativo y para la gestión de bases de datos utiliza los modelos soportados por SQL. Debido a que algunos modelos de datos no son compatibles, DataPro se encarga de realizar las conversiones de formato xBase hacia el modelo de datos SQL. Como, por ejemplo:

XBASE

SQL

Dato

Logical

Bit

Lógico

Memo

Text

Memos

Numeric

Numeric

Numérico Max 20

Date

Date

Fecha

Char

Char

Carácter

Elementos que el usuario debe utilizar para crear las relaciones, fórmulas y operaciones entre los datos contenidos en una expresión.   Los operadores se clasifican en:

Aritméticos: Símbolos utilizados para efectuar operaciones aritméticas con datos del mismo tipo. Su resultado debe ser asignado sobre un elemento de identificación llamado “VARIABLE”.

  • Asignación (=): Indispensable para asignar hacia una variable el resultado obtenido de la ejecución de una expresión, según la siguiente sintaxis: VARIABLE = Expresión.
  • Adición (+): Se utiliza para agregar el contenido de uno o varios datos en otro. Puede ser aplicable en los datos de tipo numérico, carácter y de fecha
  • Resta (-): Debe ser utilizada para sustraer los valores de uno o varios datos con otros. Sólo es aplicable para los datos de tipo “numérico y fechas”
  • Multiplicación (*): Debe ser utilizada para multiplicar los valores de uno o varios datos con otros. Sólo es aplicable para los datos de tipo “numérico”.
  • División (/): Debe ser utilizada para efectuar la división entre el dividendo y el divisor. Cuando el valor del divisor es cero “0”, se presenta el error “División por cero”. Este error se evita utilizando la función “DIV(DIVIDENDO,DIVISOR)”, que genera el mismo resultado. La división sólo permite la utilización de expresiones de tipo numérico.
  • Exponencial(**): Obtiene el resultado de un valor elevado a un exponente, según la sintaxis: X**n; donde (n) es el exponente.

Relacionales: Símbolos utilizados para efectuar comparación entre datos del mismo tipo. Se pueden emplear con expresiones de tipo numérica, alfanumérica, de fecha y lógicas.

  • Los símbolos relacionales son:

= IGUAL A

# DIFERENTE

> MAYOR QUE

< MENOR QUE

=> MAYOR O IGUAL

=< MENOR O IGUAL

$ CONTENIDO EN

() AGRUPACION

El operador $ solo es aplicable en las expresiones de tipo alfanumérico “textos o cadenas”. Este operador permite determinar si el contenido de una expresión alfanumérica se encuentra exactamente igual dentro del contenido de otra.

El operador de agrupación “()” es aplicable en todos los tipos de datos y se utiliza para la agrupación de comparaciones o expresiones aritméticas.  También son muy utilizados para agrupar relaciones entre si, mediante operadores relacionales.

Lógicos: Se utilizan para relacionar expresiones de tipo lógico “Verdadero o Falso”, generando también resultados de tipo lógico. Estos operadores son:

.AND. = Y

.OR. = O

.NOT. = NO (Negación)

La negación también se puede indicar con .!.. Si se asocia con otra expresión lógica, genera los siguientes resultados:

(.!.)(.F.) = .T. No falso es verdadero.

(.!.)(.T.) = .F. No verdades es falso.

Diccionario de Datos: Está compuesto por un conjunto de tablas que poseen información exclusiva de todo lo relacionado con las tablas, campos, índices, menú de acceso, programas fuentes, relaciones entre tablas y opciones para cada campo. El diccionario de datos puede informarnos sobre el uso de un campo y si esta relacionado con la clave de otra tabla o también si se rellena con ceros hacia la izquierda. También puede informar sobre los campos de una tabla, los índices que lo conforman y las posibles relaciones con tablas incluyendo integridad referencial. Prácticamente el Diccionario de datos es el administrador del sistema y todos los componentes de DataPro obedecen a las reglas establecidas en él, como por ejemplo las sugerencias brindadas por el generador de reportes.

Referencia de Colores:

Color

Definición

Referencia Decimal

Color RGB

Negro

CLR_BLACK

0       

RGB(   0,   0,   0 )

Azul

CLR_BLUE        

8388608

RGB(   0,   0, 128 )

Verde

CLR_GREEN        

32768          

RGB(   0, 128,   0 )

Cyan

CLR_CYAN       

8421376        

RGB(   0, 128, 128 )

Rojo

CLR_RED            

128       

RGB( 128,   0,   0 )

Amarillo

CLR_MAGENTA    

8388736

RGB( 128,   0, 128 )

Marrón

CLR_BROWN        

32896    

RGB( 128, 128,   0 )

Gris

CLR_HGRAY     

12632256

RGB( 192, 192, 192 )

Gris plateado

CLR_LIGHTGRAY 

CLR_HGRAY

 

Color

Definición

Referencia Decimal

Color RGB

Gris

CLR_GRAY       

8421504     

RGB( 128, 128, 128 )

Azul

CLR_HBLUE     

16711680   

RGB(   0,   0, 255 )

Verde

CLR_HGREEN       

65280 

RGB(   0, 255,   0 )

Cyan

CLR_HCYAN     

16776960              

RGB(   0, 255, 255 )

Rojo

CLR_HRED           

255

RGB( 255,   0,   0 )

Amarillo

CLR_HMAGENTA  

16711935

RGB( 255,   0, 255 )

Amarillo

CLR_YELLOW       

65535

RGB( 255, 255,   0 )

Negro

CLR_WHITE     

16777215

RGB( 255, 255, 255 )

Casos de Impresión: Indicar el nombre del usuario ya que está en otra base de datos (ADMCONFIG):

 COLUMN TITLE “Usuario”;

        DATA SQLGET(“DPUSUARIOS”,”OPE_NOMBRE”,”OPE_NUMERO”+GetWhere(“=”,oDp:cUsuario));

             SIZE 90;

             LEFT FONT 2