Hay cinco pasos para la construcción de un formulario que son:
1. Ingresar el nombre de la categoría del formulario.
2. Configurar el diseño de la página del formulario.
3. Especificar las tablas de la base de datos y ecuaciones de enlace.
4. Ingresar y organizar una lista de posibles campos para mostrar y configurar sus atributos.
5. Ingresar y organizar los criterios de fecha, salto de formulario y criterios de filtro.
La mejor manera de demostrar cómo construir un informe sería mostrar un ejemplo. Vamos a construir un informe titulado: Formulario de Factura. En primer lugar vamos a necesitar acceder al generador de informe, este se encuentra en el Menú Principal > Configuración > Opciones de Configuración General > Generador de Informes, cuando se encuentre acá, presione el botón "Añadir nuevo".
Paso 1. Nombre del formulario y categoría del grupo |
Para crear un formulario, ingrese el formulario de factura en el cuadro de texto, luego ingrese un nombre. Además, debemos especificar que es un formulario seleccionando el botón de opción Formulario. Ahora tenemos que colocar este formulario en la categoría adecuada, así que seleccione facturas/albanares en el menú desplegable para el grupo del que forma parte este formulario.
A continuación introduzca un nombre para el formulario con un máximo de 30 caracteres, seguidamente seleccione que tipo de reporte es con el que se va a trabajar, en este caso vamos a seleccionar Formulario (form). Este tiene una lista desplegable de opciones.
Pulse Continuar cuando se haya introducido toda la información.
IMPORTANTE: En este momento se agregará un registro a la tabla de formularios y aparecerá en la lista de formularios disponibles. Los usuarios pueden elegir este formulario para generar, pero el resultado será una advertencia "No hay datos en este formulario". El formulario debe eliminarse si el proceso del generador de informes no se completa para un formulario determinado.
Paso 2. Configurar el diseño de la página |
La siguiente pantalla nos permite modificar algunas de las configuraciones predeterminadas para el diseño de página del formulario. La mayoría de los campos se explican por si mismo, pero hay algunas notas para recordar.
Diseño de página: Permite definir la configuración deseada para el diseño de página. Cada entrada mostrada para la página se maneja de forma individual en el formulario de configuración de campo. Puede volver aquí para realizar más cambios editando el formulario después de que termine de compilar el formulario para probar el resultado.
Después de haber escrito toda la información, pulse Continuar para ingresar la información a la base de datos.
Paso 3. Especificar las tablas de bases de datos y las 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, "DESDE tabla1 INNER JOIN tabla2 ON tabla2 ecuación de enlace INNER JOIN tabla 3 ON etc."
NOTA IMPORTANTE: SE REQUIERE CONOCIMIENTO DE LAS TABLAS Y ESTRUCTURA LA DE BASE DE DATOS.
Ingrese los datos en los cuadros como se muestra a continuación. Sólo se puede ingresar una fila de datos a la vez en secuencia. Después de que se haya ingresado cada tabla/ecuación de enlace, presione el botón Actualizar para validar la tabla y confirmar la ecuación de enlace. El formulario se volverá a cargar con los datos recién ingresados y luego permitirá que se ingrese la siguiente tabla/ ecuación de enlace. Los campos son sensibles a mayúsculas y minúsculas.
Text Box Name |
Data to Enter |
Table Name - Primary Nombre de la tabla - Primaria |
salesorders |
Table Name - Second Nombre de la tabla - Segunda |
salesorderdetails |
Link Equation - Second Ecuación de enlace - Segunda |
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 validará los datos al intentar recuperar una sola fila de la consultaSi no se puede acceder a una sola fila desde la base de datos, no se 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, pulse Continuar para entrar en los campos para mostrar.
Paso 4. Especificar los posibles campos para mostrar |
Este formulario añadirá los campos permitidos utilizados para generar el resultado del formulario. Los campos pueden ser gráficos, imágenes, datos o texto estático. Hay que ingresar al menos un campo para crear un formulario válido. Hasta el número total de campos en las bases de datos enlazadas proporcionadas en el paso 3 son permitidos para los campos de datos. En la práctica, sin embargo, una lista más pequeña suele funcionar mejor. Cada campo tiene sus propios atributos, incluyendo la ubicación, estilo de fuente, tamaño, color, la alineación y más, dependiendo del campo elegido. Más adelante se dará más información sobre los tipos de campos.
NOTA PRÁCTICA: Es una buena idea para preordenar los campos en un orden lógico en la forma en que desea que aparezcan los datos.
Pedidos: 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 insertará en la lista en el orden especificado y los campos restantes se desplazaran en una posición. Si el número de pedido se omite, añadirá el nuevo campo al final de la lista. Los números de orden comienzan con 1.
NOTA: En los formularios, el orden no es muy importante ya que cada campo contiene su propia información de posicionamiento.
Nombre a visualizar: La descripción puede ser cualquier descripción en inglés (u otro idioma) Este es el ID asignado al nombre de campo. Aparecerá en el encabezado de informe y enlaces directamente a la entrada table.fieldname. Los caracteres especiales están permitidos pero no son recomendados.
Mostrar: Identifica los campos para mostrar. Sólo los campos que están marcados para mostrar aparecerán en el formulario. 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 desean 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 que mostrar”.
Tipo: Especifíca el tipo de campo. Examinarémos cada tipo detalladamente a continuación.
Línea de datos |
Las lineas de datos contienen una sola información de la consulta de la base de datos. Aparecerá una lista desplegable de campos disponibles junto con los atributos del texto que se mostrará.
Bloque de datos |
Los bloques de datos son un caso especial de líneas de datos que concatenan varios campos de la base de datos con un valor de separación. Los bloques de datos son candidatos ideales para direcciones donde los campos deben estar cerca uno de otros, pero varían en longitud y en como están separados entre sí. El siguiente ejemplo es para una dirección en_US donde la dirección 3-5 es ciudad, estado y código postal, respectivamente y la dirección 6 es el país. La salida se mostrará de la siguiente manera:
Reproductor Internacional (Nombre)
1234 Main Street (Dirección 1)
Suite # 3 (Dirección 2)
Cualquier Ciudad, CA 90019 (Dirección 3), (Dirección 4) y (Dirección 5)
Estados Unidos (Dirección 6)
Tabla de datos |
Las tablas de datos son la parte principal del formulario donde se muestran las listas de datos. La tabla tiene una posición inicial junto con la información ancho y altura. La línea de borde (si se especifica) se dibuja alrededor del perímetro de la tabla, y entre cada columna de datos. La información de relleno separará cada línea de la información con luces alternadas de color de relleno blanco -entre cada linea- (similar a la línea de separación en los informes). Si no se especifica ningún relleno, el fondo del formulario será blanco. Cada línea de datos en la tabla hará una sola columna. Línea de datos múltiples no puede aparecer en la misma columna (a diferencia de los informes donde se permiten saltos de columna). Cada elemento de datos puede tener sus propios atributos de fuente y puede ser procesado a través de una opción de proceso de textos. El total del ancho de las columnas de los datos que se muestran (marcados con mostrar) debe ser igual al ancho total de la tabla para que la salida se muestre correctamente. La información del nombre para mostrar conformará el encabezado de cada columna de la tabla correspondiente y aparecerá como el encabezado de la tabla en cada página generada.
Datos totales |
Los totales de datos toman todos los campos ingresados (3 en este ejemplo) y extraen el total de la base de datos para un formulario dado. Si el formulario es de varias páginas, se mostrarán las palabras "continuar" en cada página, excepto en la última donde se sustituiran los totales de formulario. Si aparece la palabra "continuar", el usuario sabe que el formulario es de varias páginas. El número de página rastrea y muestra la página actual a medida que se genera el formulario.
Corregido el campo de texto |
Los campos de textos fijos muestran una sola línea de texto. Se debe utilizar para obtener información de formularios estáticos, como las etiquetas y los mensajes que no se generan por una consulta de base de datos.
Imagen - JPG o PNG |
Se aceptan las imágenes de tipo jpg, jpeg y png. Una imágen se puede seleccionar de la lista actual de las imágenes disponibles o subirla a través del navegador. Se deben especificar las abcisas y las ordenadas. Si el ancho y la altura se dejan en blanco, la imagen conserva su tamaño original y relación de aspecto. Si se especifica un ancho o una altura, pero no ambos, la imagen se dimensiona para ajustarse a la dimensión especificada y la otra se dimensiona automáticamente para mantener la relación de aspecto. Si se especifica tanto el ancho como el alto, la imagen tiene el tamaño adecuado para el ancho y la altura provistos.
Rectángulo |
Los rectángulos pueden ser generados con muchos atributos. Un rectángulo sin un borde podría ser utilizado para una zona de sombra del formulario. Un rectángulo con un borde y sin relleno se puede utilizar para delinear un bloque de información.
Línea |
Las líneas pueden dibujarse en vertical, horizontal o diagonal. Los colores y anchos de línea también son programables.
Línea de datos de la empresa |
Las líneas de datos de la empresa son similares a las líneas de datos, excepto que la lista de campos se deriva de la base de datos de las empresas.
Bloque de datos de la empresa |
Los bloques de datos de la empresa son similares a los bloques de datos, excepto que la lista de campos se deriva de la base de datos de las empresas.
Número de página |
El campo numérico de página imprime solo el numero de página en formato numérico (no: Página X de Y). Si es necesario, el texto "Página", será necesario un nuevo campo de texto fijo para generar el prefijo para el número de página.
NOTA: Existe una limitación entre el generador de informes y FPDF con el alias de número de página. El generador de informes permitirá que se creen múltiples formularios en una sola consulta. Como los formularios de varias páginas son posibles, el generador de informes no puede calcular el total de página basado en cada salto de página del formulario en tiempo real. FPDF tiene un alias para rastrear el número total de páginas, pero lo hace para todo el archivo PDF. Por ejemplo, si el usuario solicita generar todas las facturas para 'Hoy', probablemente habrá más de una. Además, uno o más pueden ser de varias páginas. El alias FPDF proporcionará el número total de páginas para la creacion del formulario completo (todas las facturas para hoy) y no para cada formulario de factura. El generador de informes sólo sabe en qué página está trabajando y no cuantas páginas hay en cada cada factura individual. Por lo tanto, sólo se genera el número de página actual del generador de informes con este campo y el número total de páginas del formulario no está disponible. La función "continua" para los totales indica que un formulario es de varias páginas.
Los detalles de cada campo son demasiado numerosos para reproducirlos aquí. La mejor manera de revisar los campos en nuestro ejemplo sería importar el formulario y examinar los campos de interés. Si comete un error, los botones a la derecha de cada fila ingresada le permitirán editar, volver a secuenciar, o eliminar una fila. Las propiedades de cada campo también se pueden editar. Una lista de campo abreviada se muestra a continuación:
Después de ingresar toda la información, pulse Continuar para ingresar los criterios de filtro.
Paso 5. Introducir y organizar criterios |
Este formulario crea las opciones para la selección de fecha, el campo de salto de página, y filtrado del formulario. 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 a los períodos estandar de tiempo. Los dos más genéricos ALL y RANGE permiten al usuario ver rápidamente cada entrada en la base de datos o especificar el intervalo de fechas 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' se deben ingresar en el cuadro de texto Nombre de Campo de fecha o se producira un error sql. El nombre de campo se probará con las tablas seleccionadas para validar la entrada. También una fecha predeterminada puede elegirse rápidamente. Por ejemplo, si se está generando un informe estándar denominado Ventas de hoy, es posible permitir al usuario seleccionar un intervalo de fechas, pero desea que la fecha se presente por primera vez Hoy como predeterminado. En este caso, seleccionaría 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 fecha, anule la seleccion de todas las casillas de verificación en cuyo caso las opciones de fecha no se mostrarán en el visor de informe o simplemente marque la casilla TODAS para mostrar la opción de fecha con sólo una opción disponible.
Campo de salto de página de formulario: Los campos de salto de formulario especifican el campo que se utiliza para separar formularios. Para nuestro ejemplo de factura, el número de la factura sería el salto logico de formulario. Esto forzará una nueva forma para cada número de factura dentro del rango definido en los criterios y parámetros de fecha.
Criterios de filtro: Los criterios de filtro permiten a las opciones de usuario refinar aún más su resultado. No hay límite para la cantidad de opciones, pero usualmente 3 o 4 funcionan mejor. El tipo de criterio debe tener sentido en relación con el campo. Si el campo es un campo de texto, los criterios de todo rango: funcionan mejor. Para los campos sí/no, el todo: sí: no, impreso: no impreso, etc funcionan mejor.
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.