Hay cinco pasos para construir un informe. Son:
1. Ingresar el nombre y la categoría del informe.
2. Configurar el diseño de la página.
3. Especificar las tablas de la base de datos y las ecuaciones de enlace.
4. Ingresar y organizar una lista de posibles campos para mostrar.
5. Ingresar y organizar los criterios de fecha, agrupamiento, clasificación y filtro.
La mejor manera de demostrar cómo crear un informe sería mostrar un ejemplo. Desarrollaremos un informe titulado: Informe de factura. En primer lugar vamos a acceder al generador de informes. Se encuentra en Menú Principal > Configuración > Opciones de Configuración General > Generador de informes. Una vez allí pulse el botón Añadir nuevo.
Paso 1. Nombre del informe y el grupo de la categoría |
Para nuestro informe, ingrese el informe de factura en el cuadro de texto ingrese un nombre. Además, debemos especificar que se trata de un informe seleccionando el botón de selección de informe. Ahora tenemos que colocar este informe en la categoría adecuada, por lo tanto, seleccione Cuentas por cobrar en el menú desplegable para el grupo del que forma parte este informe.
Pulse Continuar cuando se haya ingresado toda la información.
IMPORTANTE: En este momento se agrega un registro a la tabla de informes y aparecerá en la lista de los informes disponibles. Los usuarios pueden elegir generar este informe pero el resultado será una advertencia "No hay datos en este informe". El informe debe ser borrado si el proceso generador de informes no se completa para un informe determinado.
Paso 2. Configuración del diseño de página |
La siguiente pantalla nos permite modificar algunas de las configuraciones predeterminadas para el diseño del informe. La mayoría de los campos se explican por sí mismos, pero hay algunas notas para recordar.
Diseño de página: Se debe ajustar el tamaño de papel predeterminado a lo que realmente desea que sea. No se puede cambiar durante la visualización de informes estándar. Puede volver aquí para realizar más cambios editando el informe después de terminar de elaborar el informe que prueba el resultado.
Ancho de columna: Si tiene una idea bastante clara de la cantidad de columnas que desea que tenga su informe y el ancho, puede ingresar las aquí. Si deja los valores por defecto por ahora y finaliza su informe, puede volver atrás y cambiar los anchos de las columnas después de que pruebe el producto terminado en otro momento.
Títulos: Los datos aparecerán a medida que se escriben, pero existen etiquetas generadas por el sistema para automatizar el informe. Esta lista está actualizada a la fecha de este escrito, pero puede cambiar a medida que se añaden más etiquetas.
Tag |
Description |
%date% %fecha% |
Inserts the current date into the title in the place the tag appears within the title string. Inserta la fecha actual en el título en el lugar aparece la etiqueta dentro de la cadena de título. |
%reportname% %Reportar nombre% |
Inserts the report name stored in the database. Inserta el nombre del informe almacenado en la base de datos. |
NOTA: Margen y ancho de las columnas se expresan en milímetros, tamaños de fuente están en puntos.
Después de ingresar toda la información, presione Continuar para ingresar la información de la base de datos.
Paso 3. Especificación de las tablas de bases de datos y ecuaciones de enlace |
Este formulario nos permite especificar las tablas y las tablas vinculadas que se utilizan para generar la consulta. Estos campos generan lo que se convertirá en la segunda parte de la consulta, "FROM table1 INNER JOIN table2 ON table2linkequation INNER JOIN table3 ON etc".
NOTA: IMPORTANTE: SE REQUIERE CONOCIMIENTO DE LAS TABLAS Y ESTRUCTURA DE LA BASE DE DATOS.
Ingrese los datos en los cuadros como se muestra a continuación. Sólo una fila de datos se puede ingresar a la vez en secuencia. Después de ingresar cada tabla/ecuación de enlace, presione el botón Actualizar para validar la tabla y confirmar la ecuación del enlace. El formulario se volverá a cargar con los datos ingresados y entonces permitirá que se ingrese la siguiente ecuación de Tabla/Enlace. Los campos son sensibles a mayúsculas y minúsuclas.
Text box name Nombre del cuadro de texto |
Data to Enter Ingrese los datos de |
Table Name - Primary Nombre de la tabla - Primaria |
Salesorders Ordenes de venta |
Table Name - Second Nombre de la tabla - Secundaria |
Salesorderdetails Detalles del pedido de ventas |
Link Equation - Second Ecuación de enlace - Secundaria |
salesorders.orderno=salesorderdetails.orderno |
Table Name - Third Nombre de la tabla - Tercera |
debtorsmaster |
Link Equation - Third Ecuación de enlace - Tercera |
salesorders.debtorno=debtorsmaster.debtorno |
Table Name - Fourth Nombre de la tabla - Cuarta |
Custbranch |
Link Equation - Fourth Ecuación de enlace - Cuarta |
salesorders.branchcode=custbranch.branchcode |
NOTA: Después de ingresar los datos, la herramienta valida los datos, tratando de recuperar una sola fila de la consulta. Si no se puede acceder a una sola fila desde la base de datos, no puede avanzar más allá de este punto.
NOTA: Si se queda atascado aquí, recuerde que el informe existe en la lista de informes estándar y debe eliminarse para evitar que los usuarios ejecuten el informe.
Después de ingresar toda la información, presione Continuar para ingresar las posibles columnas a consultar.
Paso 4. Especificar los campos posibles para recuperar |
Este formulario agregará los campos permitidos a una lista de compilación de consultas. Estos campos generados se convertirán en la primera parte de la consulta, "SELECCIONAR lista de campos aquí. Se debe ingresar al menos un campo para hacer un informe válido. Se permite hasta el número total de campos en las bases de datos vinculadas proporcionadas en el paso 3. En la práctica, sin embargo, una lista más pequeña suele funcionar mejor. Cada campo tiene sus propios atributos. Se pueden volver a secuenciar, forzar un salto de columna, establecer para mostrar y marcar para el seguimiento de un total acumulado. Sólo los campos agregados aquí van a aparecer en la lista del visor de informes para la selección.
NOTA PRÁCTICA: Es una buena idea preordenar los campos en un orden lógico de la manera que desee que aparezcan los datos. Además, la selección de los campos para mostrar combinado con los saltos de columna debería dar como resultado un informe predeterminado de ocho columnas o menos para que puedan mostrarse directamente desde el informe estándar sin modificaciones.
Orden: El orden determina la secuencia de la generación de la lista de campos. Si se ingresa un número de pedido que ya existe, se inserta en la lista en el orden especificado y los campos restantes se eliminarán en una posición. Si el número de pedido se omite, agregará el nuevo campo al final de la lista. Los números de orden comienzan con 1.
Nombre de campo: Este campo de texto tiene que coincidir con la tabla exacta y el nombre de campo en la base de datos. El nombre de campo se ingresa con el formato 'table.fieldname' para proporcionar una identificación absoluta del campo que se va a recuperar. Se realizará una prueba para recuperar una sola línea de la base de datos con el nombre de campo y la descripción de la pantalla para validar la entrada. Si el nombre del campo es incorrecto o la descripción de la pantalla está en blanco, se producirá un error.
Nombre para mostrar: La descripción puede ser cualquier descripción en inglés (u otro idioma). Este es el ID asignado al nombre de campo. Que aparecerá en el encabezado de informe y los enlaces directamente a la entrada table.fieldname. Los caracteres especiales están permitidos pero no recomendados.
Ruptura: Este campo especifica si debe haber un salto de columna después de que se muestre esta entrada. El campo sólo se puede modificar en el visor de informes para los informes personalizados por lo que es mejor hacerlo bien en el informe estándar para generar el resultado deseado. Es una buena idea agrupar ciertos campos en la misma columna. Por ejemplo, las direcciones normalmente se leen mejor si aparecen en un bloque frente a extenderse en varias columnas. Además, el informe se limita a ocho columnas para mostrar. La mayoría de los informes estándar enumerarán más de ocho campos y el uso de saltos de columna ayudará a organizar el resultado.
Mostrar: Identifica los campos para mostrar. Sólo los campos que están marcados para mostrar aparecerán en el informe. Es una buena práctica mostrar los campos que desea que aparezcan en el informe estándar, pero no necesariamente todos los campos. El usuario puede decidir qué datos desea y modificar este campo sólo en los informes personalizados. Si no se identifican campos para mostrar, el visor de informes generará un mensaje de advertencia “No hay datos para mostrar”.
Total: Especifica si se debe mantener un total acumulado. Se puede configurar para cualquier campo numérico. Si se establece la agrupación, el visor de informes también rastreará los subtotales por el grupo seleccionado, así como el total de todos los campos recuperados en el informe.
Agreguemos algunos campos a nuestro informe. Utilizaremos una lista abreviada para mostrar la idea general. Si se necesitan más campos o si es necesario editarlos, se puede editar el informe y agregar o eliminar los campos según sea necesario. Ingrese los campos como se muestra en la siguiente tabla.
Sequence
Secuencia |
Fieldname
Nombre del campo |
Name to Display
Nombre a mostrar |
Break
Ruptura |
Show
Mostrar |
Total
|
1
|
salesorders.orderno | Order Number Número de orden |
No
|
Yes
|
No
|
2
|
salesorders.orddate | Order Date Fecha de orden |
No
|
Yes
|
No
|
3
|
salesorders.branchcode | Branch ID Identificación de sucursal |
Yes
|
Yes
|
No
|
4
|
salesorders.customerref | Customer Reference Referencia del cliente |
No
|
Yes
|
No
|
5
|
salesorders.deliverto | Deliver To Name Entrega a nombre |
Yes
|
Yes
|
No
|
6
|
salesorderdetails.quantity | Quantity Cantidad |
No
|
Yes
|
Yes
|
7
|
salesorderdetails.stkcode | Part Number Número de parte |
No
|
Yes
|
No
|
8
|
salesorderdetails.unitprice | Unit Price Precio unitario |
Yes
|
Yes
|
Yes
|
9
|
debtorsmaster.name | Customer Name Nombre del cliente |
No
|
Yes
|
No
|
10
|
debtorsmaster.address1 | Customer Address 1 Dirección del cliente 1 |
No
|
No
|
No
|
11
|
debtorsmaster.address2 | Customer Address 2 Dirección del cliente 2 |
Yes
|
No
|
No
|
12
|
debtorsmaster.address3 | City Ciudad |
No
|
No
|
No
|
13
|
debtorsmaster.address4 | State Estado |
No
|
No
|
No
|
14
|
debtorsmaster.address5 | Postal Code Código Postal |
No
|
No
|
No
|
15
|
debtorsmaster.address6 | Country País |
Yes
|
No
|
No
|
16
|
custbranch.deliverydate | Delivery Date Fecha de entrega |
No
|
Yes
|
No
|
17
|
custbranch.custbranchcode | Branch ID Identificación de sucursal |
No
|
No
|
No
|
Si comete un error, los botones de la derecha de cada fila ingresada le permiten editar, volver a secuenciar, o eliminar una fila. Su formulario debería tener algo como esto:
Después de ingresar toda la información, pulse Continuar para ingresar los criterios de filtro.
Paso 5. Ingresar y organizar criterios |
Este formulario crea las opciones de selección de fecha, agrupamiento, clasificación y filtrado para el informe estándar. Estos campos generan lo que se convertirá en el lugar de la consulta “DONDE criterio 1 y criterio 2 y etc. ORDENAR por agrugación, clasificación". Así es como funciona cada campo:
Fecha: Si su informe tiene un campo de fecha que se muestra, aquí es donde se especificará el tipo de opciones de datos disponibles. Muchas son sólo selecciones rápidas para períodos de tiempo estándar. Las dos más genéricas ALL y RANGE permiten al usuario ver rápidamente cada entrada en la base de datos o especificar el intervalo de fechas en particular en el que están interesados. Para todas las selecciones de fecha (excepto ALL), el nombre de la tabla y el nombre de campo 'table.fieldname' deben ingresarse en el cuadro de Date Fieldname o se producirá un error sql. El nombre de campo se probará con las tablas seleccionadas para validar la entrada. También se puede elegir una fecha predeterminada rápidamente. Por ejemplo, si se está generando un informe estándar denominado Ventas de hoy, aun puede permitir que el usuario seleccione un intervalo de fechas, pero desea que la fecha aparezca por primera vez Hoy como predeterminado. En este caso, debe seleccionar tantas opciones de fecha como desee, pero al ingresar al informe, Hoy será el predeterminado.
NOTA: Si su informe no tiene ningún campo de fecha o no depende de la información de la fecha, anule la selección de todas las casillas de verificación, en cuyo caso las opciones de fecha no se mostrarán en el visor del informe o simplemente marque la casilla ALL para mostrar la opción de fecha con solo una opción disponible.
Truncar descripciones largas: Esto es útil para los informes de resumen o cuando un campo es largo y desea evitar el ajuste de columnas del texto. Al marcar esta casilla se trunca cualquier campo que superará el ancho de columna para mantenerlo a una línea. Esta característica también trunca los títulos de las columnas.
La agrupación de campos:
Los campos de clasificación: Los campos de agrupamiento y los campos de clasificación son similares. La principal diferencia es que la agrupación se específica anteriormente en el ORDER BY porción de la cadena SQL y el subtotal se calcula y muestra en el informe. Si no se especifican agrupaciones, la opción no se mostrará en el formulario de selección de criterios del Visor de informes.
Predeterminado: Al marcar la casilla predeterminada se preseleccionará un grupo particular y/o campo de clasificación. Estas opciones pueden modificarse en los informes estándar y en los informes personalizados, pero ahorra tiempo si su informe objetivo está diseñado para tener una agrupación o clasificación específica.
Criterios de filtro: Los criterios de filtro permiten que las opciones del usuario clarifiquen aun más su búsqueda. No hay límite para la cantidad de opciones, pero generalmente 3-4 funcionan mejor. El tipo de criterios debe tener sentido en relación con el campo. Si el campo es un campo de texto, los criterios all: funcionan mejor. Para campos de sí/no, todos: sí: no, impreso: sin imprimir, etc. funcionan mejor.
NOTA: El nombre de campo de visualización de agrupación debe coincidir exactamente con el nombre de campo en la lista de campos para que el subtotal de grupo funcione correctamente. Los campos de informe todavía se agruparán correctamente, pero los subtotales y los saltos de grupo no se mostrarán.
Vamos a llenar nuestro informe con los siguientes datos:
- Marque todos los cuadros de fecha, excepto los cuadros 'hasta la fecha'. Esto le dará al usuario más que suficientes opciones.
- Ingrese salesorders.orddate en el cuadro de texto Date Fieldname.
- Marque No en truncar descripciones largas. Podemos cambiarlo más adelante si es necesario.
- Ingrese la agrupación de la siguiente manera:
Sequence
SecuenciaFieldname
Nombre del campoDisplay Description
Descripción de la pantallaDefault
Defecto1salesorders.orddate Order Date
Fecha de ordenNo2salesorders.orderno Order Number
Número de ordenNo
- Introduzca la clasificación de la siguiente manera:
Sequence
Secuencia |
Fieldname
Nombre del campo |
Display Description
Descripción de la pantalla |
Default
Defecto |
1
|
debtorsmaster.name | Customer Name Nombre del cliente |
Yes
Sí |
2
|
salesorders.orderno | Order Number Número de orden |
No
|
6. Introduzca los criterios de campo de la siguiente manera:
Sequence
Secuencia |
Fieldname
Nombre del campo |
Display Description
Descripción de la pantalla |
Type of Criteria
Tipo de criterio |
1
|
salesorders.branchcode | Branch ID Identificación de sucursal |
All:Range
Todos: Rango |
2
|
salesorders.orderno | Order Number |
All:Range
Todos: Rango |
3
|
salesorders.quotation | Quotation |
All:Yes:No
Todos: Sí: No |
NOTA: Tenga en cuenta que permitimos al usuario filtrar basado en salesorders.quotation a pesar de que el campo no aparece en la lista de campos. El Visor de informes seguirá utilizando el campo para filtrar los datos aunque no quiere que se muestre el campo. Esto no suele ser una buena idea en la práctica. El encabezado del informe de salida indicará que los criterios de filtro incluyeron una cotización si la opción Cotización: Si o Cotización: No se ha seleccionado para mostrar que el informe sólo contiene datos filtrados.
El formulario debe ser algo como esto:
Eso es todo, haga clic en Finalizar para salir del generador de informes y estamos listos para ver nuestro resultado.