Al comenzar el informe debemos decidir cuál será el origen de datos del informe. Dado que el generador de informes construye una representación imprimible de los datos del origen de datos, al menos debe definirse un origen de datos en el informe.
Los datos pueden venir directamente de tablas de Velneo, de una consulta sql usando los drivers de conexión a bases de datos sql de Qt o de otras fuentes que no requieran conexión SQL, tales como texto, lista de cadenas u orígenes de datos definidos personalizados.
Un informe puede contener múltiples orígenes de datos y cada sección de detalle puede estar conectada a cada uno de los origen de datos seleccionados. A veces una fuente de datos no es asignada a ninguno de los detalles, en este caso podemos usar este tipo de orígenes de datos sin asignar como una (primera) fila/registro fuente de datos. Lo veremos con detalle posteriormente.
Para especificar un origen de datos a nuestro informe abrir el menú informe y seleccionar la opción orígenes de datos. Se abrirá un diálogo en el que podremos añadir o quitar orígenes de datos. Para añadir un nuevo origen de datos pulsar el botón añadir y seleccionar el tipo de origen de datos de la lista de orígenes de datos disponibles.
Por ejemplo, escogeremos el tipo de origen de datostabla de Velneo. Después de pulsar el botón crear la fuente de datos seleccionada se añadirá a la lista del panel del diálogo. Entonces podremos especificar las opciones del origen de datos. Las propiedades disponibles para los orígenes de datos son las siguientes:
Esta propiedad de tipo cadena es muy importante para poder identificarlo. Podremos hacer referencia a ese origen de datos usando este ID.
El tipo del origen de datos que hemos seleccionado. No puede ser modificado una vez el tipo de datos ha sido añadido a la lista.
El tipo Tabla de Velneo nos permitirá escoger como origen de datos una tabla de Velneo.
Cuando seleccionamos este tipo, aparecerán las opciones siguientes:
Nos permite elegir la tabla que se usará para el origen de datos. Únicamente estarán disponibles aquellas tablas de la aplicación que no tengan marcado el flag Privado. El identificador será seleccionado de forma automática cuando el informe use subinformes y definamos un padre y un proceso para los subinformes.
En informes con subinformes, elegiremos la tabla padre que define el informe principal.
En informes con subinformes, elegiremos el proceso que define los subinformes a partir del padre. Será un proceso origen lista de la tabla asociada al padre del origen de datos. Su salida, definirá el identificador para tabla de Velneo.
Se trata de una propiedad que describe dónde pueden encontrarse los datos o la consulta sql, dentro del fichero del informe o dentro de un fichero personalizable. Sus valores posibles son: estático, fichero, http, ftp y parámetro (http y ftp habitualmente no son soportados). Para cada tipo de origen de datos tiene un significado algo distinto. Para una consulta sql el tipo de localización estática es adecuado, significa que la consulta sql será almacenada estáticamente en el archivo del informe. El tipo Parámetro implica que los datos son añadidos a al informe vía parámetro. Por ejemplo, un QString Text en una consulta SQL puede ser añadido como parámetro al informe dependiendo del tipo de origen de datos.
En el caso de que seleccionemos un tipo de origen de datos no estático, aquí podremos especificar el nombre del fichero que contiene los datos (Direcciones URL habitualmente no son soportadas).
Esta propiedad de cadena representa el ID de una conexión de base de datos SQL. Este nombre será idéntico al ID que es usado en la función QSqlDatabase:addDatabase() para identificar la conexión a la base de datos. Cuando añades una conexión de base de datos en tu aplicación antes de lanzar el informe, este es el nombre de conexión que deberías especificar.
Es en este área de texto donde podemos editar la consulta SQL. En la mayoría de los casos es una expresión SELECT….FROM, aplicando la sintaxis SQL de la base específica según la base de datos de la que se trate. Solamente está permitida una consulta SQL del origen de datos. La sentencia SQL puede contener parámetros. Lo veremos más adelante.
Para asignar el origen de datos definido anteriormente, seleccionar la opción detalle y agrupamientos… del menú informe. Se abrirá una ventana en la que podremos configurar las secciones de detalle del informe. Podremos modificar el ID del detalle que el sistema nos propone por defecto. Seleccionaremos el origen de datos que hayamos configurado anteriormente. Esta propiedad es obligatoria.
Las opciones disponibles son:
El nombre de la sección de detalle.
Altura de la sección de detalle, en milímetros.
Nombre del origen de datos asignado a la sección. Podremos seleccionar aquellos orígenes de datos que hayamos definido previamente en el informe.
Pulsando este botón se abrirá el diálogo de configuración de agrupamientos del detalle.
Es posible añadir tanto añadir como borrar detalles de un informe desde esta ventana. El informe ha de tener por lo menos una sección de detalle, por lo que, si solamente existe una, el sistema no nos dejará borrarla.
El botón aceptar guardará los cambios y el botón cancelar deshará los cambios que hayamos realizado.