La Web del Programador: Comunidad de Programadores
 
    Pregunta:  822 - REPORTES EN VISUAL FOX 6
Autor:  Rocco Di Chiara
Visual Fox asegura que todo reporte se puede hacer a traves del Report Form. Sin embargo, yo tengo el siguiente problema:

Tengo una aplicacion en Clipper que imprime un reporte a puro @ Say. En una de sus partes, imprimo un comentario que puede tener de 1 a 5 lineas. En la ultima linea impresa coloco un valor. Para esto, llevo un control de que lineas estan en blanco para no imprimirlas y que el valor indicado aparesca justo a la par de la ultima linea impresa. Ya habilite una opcion en el reporte que indica que no imprima lineas en blanco, y funciona pero a su manera. Puesto que al diseñar el reporte, coloco el campo que contiene el valor justo abajo y a la derecha de la ultima posible linea, entonces el VFOX siempre me deja las lineas en blanco.

Que debo hacer ?


  Respuesta:  Gerardo Ramírez
Mi querido amigo, me especializao en sistemas de Aduana, y por mera casualidad se me presento un caso parecido al tuyo. Realiza una Macro (un pequeño programa que realize la operacion diseñada en clipper y lo mande a un array (&), posteriormente puedes traer el(los) dato(s) solicitado(s) y colocarlo en cualquier parte de la hoja, con la opción de que se imprima con la condición que el array (&) sea diferente de blanco.

Suerte...!

Aqui tienes el Ejemplo que me pedistes....!

* SE INICIALIZAN LAS VARIABLES
Store 0 To L
Store Space(6) To LIN

* MACRO
DO WHILE .T.
L = L + 1
LIN = ´LIN´+ALLTRIM(STR(L))
Store (aqui sería el nombre de tu(s) variable(s)) TO &LIN
(o combinación de varias variables)
ENDDO

SET CONSOLE OFF
REPORT FORM (nombre del informe) PREVIEW Si es por Pantalla
REPORT FORM (nombre del informe) TO PRINTER Si es por Impresora
SET CONSOLE ON

* NOTA:
* Esta macro te permite incluir el la variable LIN (la cual se va incrementado de uno en uno, osea: Lin1,Lin2,Lin3) bien sea lineas vacias o llenas.
* Antes de ejecutar tu Informe o Reporte debes tener presente que debe existir un programa raiz que realize la macro diseñada y a posterior ejecutar el Informe.
* En la plantilla del Informe solo coloca la(s) variable(s) LIN que hayas generado en la macro, y problema resuelto.
* Te aconsejo que trabajes con archivos y variables temporales, si por casualidad trabajas con variable de sistema (m.) recuerdate de limpiar las variables del Sistema con la Instrucción "Release".
* Suerte...!