Está en la página 1de 33

Informes

Los informes son salidas, impresas o en pantalla, que se producen a


partir de tablas (o consultas, o vistas).

Que sean salidas significa que no permiten modificar los datos de las
tablas. Se puede tachar o corregir un dato impreso, pero eso se hace
en el papel, no en las tablas.

Los informes estn compuestos por bandas. Las bandas estn


compuestas por controles de informe.

Bandas
Las bandas son fajas que atraviesan horizontalmente los informes.

Las bandas aparecen con regularidad. Por ejemplo, una vez por
pgina, una vez por informe, una vez por registro.

Cada banda se define una sola vez, agregndole los campos de informe
necesarios.

Tipos de bandas
Hay varios tipos de bandas. Identificar los tipos a usar en un caso
concreto es importante para disear correctamente el informe.
Las bandas de un tipo cualquiera van en parejas, con excepcin de la
banda Detalle, que va sola.
El que haya parejas de bandas no significa que ambas deban contener
controles de informe. Pueden estar vacas. Incluso pueden tener altura
0. Todo depende de la situacin a resolver.
A partir de los ejemplos siguientes, veamos cules son los tipos de
bandas.

Informe de ventas, al 31/05/08

Encabezado de pgina

Fecha

Factura

Importe

01/05/08

11345

325,00

Detalle

01/05/08

11346

82,50

Detalle

01/05/08

11347

415,70

Detalle

01/05/08

11349

615,00

02/05/08

11350

110,28

02/05/08

11351

78,20

02/05/08

11355

208,00

Detalle

02/05/08

11356

129,00

Detalle

03/05/08

11357

308,25

Detalle

Total de hoja

2.271,93

Detalle
Detalle
Detalle
Detalle

Pie de pgina

En tiempo de ejecucin, la banda Encabezado de pgina se produce cada


vez que se imprime una hoja. Todas las veces, el formato de esta banda es
el mismo. Por ello, se define una sola vez al disear el informe.
En tiempo de ejecucin, la banda Detalle se repite por cada registro que
se imprime y en todas las repeticiones tiene igual formato. Por eso, se
define una sola vez al disear el informe.
En tiempo de ejecucin, la banda Pie de pgina aparece cada vez que se
imprime una hoja. En las distintas hojas impresas, el formato de esta banda
es el mismo. Por ello, se define una sola vez al disear el informe.
Estas tres bandas aparecen siempre en el Diseador de informes y no
se las puede eliminar. S se puede anularlas, dndoles altura 0.

El diseador de informes se ver as:

Encabezado de pgina

Detalle

Pie de pgina

Si ordenamos la tabla por fecha de factura, vamos a tener primero un grupo


de registros con la fecha a, luego otro grupo de registros con la fecha b,
luego otro grupo de registros con la fecha c, etc.

Esto nos permite definir grupos de datos por el campo Fecha. Se


supone que la tabla tiene un ndice por fecha, que debe activarse
en el entorno de datos del informe.

En tiempo de diseo aparecern dos bandas, Encabezado de grupo 1 y


Pie de grupo 1, que rodean a la banda Detalle.

El diseador de informes se ver as:

Encabezado de pgina

Encabezado de grupo 1: Fecha

Detalle

Pie de grupo 1: Fecha

Pie de pgina

En tiempo de ejecucin, se producir el siguiente informe:


Informe de ventas, al 31/05/08
Fecha

Factura

Importe

11345

325,00

11346

82,50

11347

415,70

11349

615,00

01/05/08

Subtotal 1.438,20
02/05/08
11350

110,28

11351

78,20

11355

208,00

11356

129,00
Subtotal

03/05/08

525,48

En el ejemplo anterior, observe que la fecha ocupa una lnea entera.


Si se listara un ao entero, o dos, o tres, etc., habra muchos grupos. Esto
ocasionara excesivo gasto de papel con las lneas de fecha.
Para evitar ese desperdicio, el listado podra ser como sigue:
Informe de ventas, al 31/05/08
Fecha

Factura

Importe

01/05/08

11345

325,00

11346

82,50

11347

415,70

11349

615,00
Subtotal 1.438,20

02/05/08

11350

110,28

11351

78,20

11355

208,00

11356

129,00
Subtotal

03/05/08

11357

525,48
308,25

En el informe mejorado ltimo, no se usa la banda Encabezado de grupo 1,


que no tiene controles y tiene altura 0.

La fecha se coloca en la banda Detalle, pero haciendo que no se repita en


la segunda, tercera, etc., lneas de cada grupo.

Lo anterior se consigue evitando la impresin de valores consecutivos


repetidos. Es decir, se usa una impresin condicional.

Si la tabla estuviera ordenada por cliente y fecha, podramos usar un grupo para
el cliente y un subgrupo para la fecha.
Esto supone que la tabla tiene un ndice por mltiples campos. Un ndice por
los campos Cliente y Fecha ordena los registros formando grupos por cliente
y dentro de cada grupo ordena los registros por fecha. Por ejemplo:
Cliente

Fecha

01/05/08

01/05/08

05/05/08

07/05/08

22/05/08

22/05/08

22/05/08

Factura Importe Etc.

VFP permite usar varios subgrupos. Para no llamarlos grupo, subgrupo, sub
subgrupo, sub sub subgrupo, etc., llama grupo 1 a la jerarqua mayor,
grupo 2 a la jerarqua siguiente, grupo 3 a la que sigue, etc.

El diseador de informes se ver as:

Encabezado de pgina
Encabezado de grupo 1: cliente
Encabezado de grupo 2: fecha
Detalle
Pie de grupo 2: fecha
Pie de grupo 1: cliente
Pie de pgina

El esquema anterior pone en evidencia que el Grupo 2 tiene menor alcance que
el Grupo 1, por lo que los encabezados son de Grupo 1 y luego de Grupo 2.
Pero los pies se invierten: primero el pie de grupo 2 y luego el de grupo 1,
porque el grupo 2 puede darse varias veces por cada grupo 1.
Generalizando a cualquier cantidad de grupos, la disposicin ser:
Encabezado de grupo 1
Encabezado de grupo 2

Encabezado de grupo n
Detalle
Pie de grupo n

Pie de grupo 2
Pie de grupo 1

Sea que un informe, una vez impreso, se ve as:


Listado alfabtico de clientes
Cliente

Cdigo

Agero, Alberto

Alvarado, Pedro

15

Arce, Julio

27

Bez, Luis

18

Becerra, Eusebio

21

Boca, Andrs

35

Bustos, Adriana

48

Cant, Teresa

67

Carreras, Jos

12

Coria, Jess

39

Los datos del listado ocupan muy poco espacio horizontalmente. Queda una
gran porcin de hoja a la derecha. Esto es un desperdicio de papel.
VFP permite usar la parte derecha definiendo 2, 3 ms columnas de
informe. Una columna de informe es una pgina virtual dentro de la hoja fsica.
No confunda columna de informe con las columnas de datos que se ven
una vez impreso el informe.
Para definir la cantidad de columnas, se usa Archivo - Preparar pgina,
que tambin permite definir un espacio de separacin entre columnas.
Cuando se definen ms de 1 columna, se agregan las bandas Encabezado
de columna y Pie de columna.
Archivo Preparar pgina tambin sirve para definir el tamao y la
orientacin del papel.

Un informe con grupo 1 a 2 columnas, en el Diseador de informes se ver as:

Encabezado de pgina
Encabezado de columna
Encabezado de grupo 1
Detalle
Pie de grupo 1
Pie de columna
Pie de pgina

Observe que el ancho de las bandas Encabezado de grupo 1, Detalle y Pie


de grupo 1 se han reducido al ancho que tienen las bandas Encabezado de
columna y Pie de columna.
Es lgico, porque esas tres bandas van a entrar en cada columna de
informe. Quedan exceptuadas Encabezado de pgina y pie de pgina, que,
por referirse a la hoja fsica, no se reducen al ancho de cada columna.
Si la separacin entre columnas es 0, el ancho de cada una va a ser igual a
la mitad, tercera parte, cuarta parte, etc. del ancho total del informe, segn
se definan 2, 3, 4, etc. columnas.
Si la separacin entre columnas se define como x, en n columnas habr n
-1 separaciones. El ancho de cada columna ser
[ancho total (n 1) separacin] / cantidad de columnas.

Hay dos bandas ms, que van en los extremos del informe: Ttulo y Resumen.
Ambas se activan con Informe - Ttulo / Resumen. Aunque conceptualmente
forman pareja, se pueden activar ambas, una sola o ninguna.
La banda Ttulo se imprime al comienzo del informe. Sirve para mostrar el
nombre de la institucin, el nombre del impreso, el logo, etc. Puede ir en la
primera hoja a imprimir, por separado, o en la primera hoja del informe
propiamente dicho.
La banda Resumen se imprime al final del informe. Sirve, por ejemplo, para
dar totales generales. Puede ir en la ltima hoja a imprimir, por separado, o
en la ltima hoja del informe propiamente dicho.
En el Diseador de informes, la banda Ttulo aparece arriba de todo, antes de
la banda Encabezado de pgina. La banda Resumen aparece debajo de todo,
despus de la banda Pie de pgina.

Controles de informe
Dentro de las bandas se agregan controles de informe.
Los controles de informe son Etiqueta, Campo, Lnea, Rectngulo, Rectngulo
redondeado e Imagen. El cuadro siguiente los compara en propsito con los
controles de formularios.
Informes

Formularios

Etiqueta

Label

Campo

TextBox

Lnea

Line

Rectngulos

Shape

Imagen

Picture

Cada tipo de control tiene propiedades. A diferencia de la ventana Propiedades de


formularios y entornos de datos, estas propiedades se configuran a travs de
cuadros de dilogos especficos para cada tipo.

Anlisis de algunas propiedades


El ancho con que se disea un control es fijo.
Esto tiene impacto especialmente en el control Campo. En principio, si el
contenido a mostrar es mayor al ancho, el contenido se trunca. Por ejemplo:
Contenido a mostrar: Belgrano, Manuel Joaqun del Corazn de Jess.
Tamao del campo:
Campo impreso:

Belgrano, Manuel

La propiedad Ajustar al contenido del texto de este control produce la


impresin de la siguiente forma.
Belgrano, Manuel
Joaqun del Corazn
de Jess

La solucin anterior, sin embargo, puede traer problemas. Sea que en una
banda haya varios campos, algunos de los cuales estn uno bajo el otro:
A
B

Si el campo A tiene activada la propiedad Ajustar al contenido del texto y el


campo B tiene una posicin fija dentro de la banda, al Imprimirse el campo
A en varias lneas se superpondr al campo B:
Este es el contenido del
campo A, que se escribe
en varias
lneas.B
Este
es el campo

Para solucionar el inconveniente, al campo B se le da una posicin variable,


activando la propiedad Flotante o la propiedad Borde inferior de la banda.
Flotante hace que, una vez escrito el campo A, el campo B comenzar a
escribirse respetando la separacin vertical con que se han diseado ambos
campos.
Borde inferior de la banda hace que, al aumentar la altura de la banda por
el crecimiento vertical de A, el control B ir descendiendo, porque su
posicin es relativa al borde inferior de la banda.
Con cualquiera de estas propiedades activa, la banda se imprimir:
Este es el contenido del
campo A, que se escribe
en varias lneas.
Contenido de B.

Ntese que la propiedad Borde inferior de la banda funciona aun cuando


el control A no est encima del control B:

A
B

A veces, el valor de un campo se repite varias veces en forma inmediata.


Informe de ventas, al 31/05/08
Fecha

Factura

Importe

01/05/08

11345

325,00

01/05/08

11346

82,50

01/05/08

11347

415,70

01/05/08

11349

615,00

02/05/08

11350

110,28

02/05/08

11351

78,20

02/05/08

11355

208,00

02/05/08

11356

129,00

02/05/08

11357

308,25

El informe puede resultar ms claro de entender si se presenta as:


Informe de ventas, al 31/05/08
Fecha

Factura

Importe

01/05/08

11345

325,00

11346

82,50

11347

415,70

11349

615,00

11350

110,28

11351

78,20

11355

208,00

11356

129,00

11357

308,25

02/05/08

Para lograr lo anterior, se recurre al dilogo Imprimir condiciones.


Primero se indica que No se quiere Imprimir valores repetidos. Si se
quieren excepciones a esta regla, se contemplan tres situaciones.
En primera banda completa de nueva pgina / columna. Es para el
caso que una banda Detalle necesite una lnea de impresin. Si un valor
repetido abarca ms de una hoja, se repite nuevamente al comienzo de
cada una de ellas. Esto evita tener que volver hojas hacia atrs buscando
cul es el valor que corresponde, cuando no se usa esta opcin.

Informe de ventas, al 31/05/08

Informe de ventas, al 31/05/08

Fecha

Factura

Importe

Fecha

Factura

Importe

01/05/08

11345

325,00

02/05/08

11358

480,00

11346

82,50

11359

95,00

11347

415,70

11360

708,15

11349

615,00

11361

223,00

11350

110,28

11362

218,80

11351

78,20

11364

62,40

11355

208,00

11365

316,00

11356

129,00

11366

188,00

11357

308,25

11367

527,00

02/05/08

Hoja 1

03/05/08

Hoja 2

En la hoja 2, para saber cul es la primera fecha, no es necesario volver a la


hoja 1, porque est impresa.

Cuando detalle pase a nueva pgina / columna. En ocasiones, dentro de una


banda, se colocan objetos a distintas alturas. Por ejemplo:

Factura

Fecha

Importe
Sea que el campo cdigo del cliente, que aparece en la primera lnea, tiene
No en Imprimir valores repetidos.
Sea que un cliente se repite varias veces. Al imprimir esa banda al final de
la hoja, slo hay espacio para las dos primeras lneas.
Como la impresin de la banda est incompleta, VFP la imprime en la hoja
siguiente:

Listado de clientes y sus compras

Listado de clientes y sus compras

267

267

Factura

15268

Fecha 25/02/08

Importe

$425,00

Factura
16818

$2150,00

267

267
Factura

Importe

Fecha 14/03/08

17223

Fecha 21/04/08

Fecha 25/04/08

Importe

Importe

267

267

Factura

17307

Importe

$3270,00

Factura

16924

Fecha 21/03/08

Importe

$1215,00

267

267
Factura

17005

Fecha 29/03/08

Importe

$1.205,00

17115

17412

Fecha 02/05/08

Importe

$628,00

267

267
Factura

Factura

Fecha 05/04/08
Hoja 1

Factura

17671

Fecha 15/05/08

Importe

$189,00
Hoja 2

En el ejemplo anterior, el nmero de cliente, 267, se ve en rojo cuando no se


imprime, en razn que se repite.
Esto deja lneas en blanco en el informe, provocando desperdicio de papel.
Para evitar el desperdicio, se puede activar la propiedad Quitar lneas en
blanco.
Esta propiedad no imprime lneas que estn totalmente en blanco, como
en el ejemplo.
Si en la misma lnea hubiera varios objetos, todos deberan tener activada
esta propiedad y deberan estar simultneamente en blanco para que la
propiedad surta efecto.

Cuando cambie este grupo. Sea el siguiente impreso:


Ventas por cliente y fecha
Cliente

Nombre

125

Gonzlez, Juan Alberto

Fecha

Importe

10/07/08

3.245,00

12/08/08

1.217,00
Total

126

4.462,00

Garca, Pedro Vicente


1.243,00
21/07/08

2.302,00

02/08/08

1.342,00
Total

..

4.887,00

El informe anterior est agrupado por cliente. El campo Fecha tiene inactiva
la propiedad Imprimir valores repetidos.

Esto provoca que la primera compra del cliente 126 salga sin fecha, porque
es la misma fecha que la ltima lnea del cliente 125.

Pero la falta de fecha provoca desconcierto, porque una cosa son las
compras del cliente 125 y otra cosa las compras del cliente 126.

Para evitar ese efecto desagradable, se activa la propiedad Cuando


cambie este grupo. La propiedad necesita que se indique cul es el grupo
en cuestin, para lo que ofrece una lista de los grupos existentes a ese
momento, de los que se debe elegir uno.

También podría gustarte