Reporte de en Visual Fox

Hola buen día, tengo hecho mi reporte con el reporteador de Vfox lo que quiero hacer es colocar al final de cada hoja VAN y la suma por esa hoja y en la siguiente hoja VIENEN el monto de la hoja anterior y así sucesivamente hasta llegar al monto total. SOlo he logrado hacer que me su el monto total. De repente tienes algún ejemplo para hacer este tipo de reporte.

1 Respuesta

Respuesta
1
La rutina es sencilla, solo necesitas un acumulador
que se imprime cada vez que cambia la página, te envío el ejemplo
*************************************************************************************************
STORE 0 TO suma_total
SET DEVICE TO PRINTER PROMPT
=titula(0) && Imprime titulos
SELECT("tabla1")
SCAN
IF l>55
l=l+1 && Imprime ultima pie de pagina
@ l,01 SAY "VAN...."
@ l,PCOL()+1 SAY TRANSFORM(suma_total,"@KZ 999,999.99")
=titula(1) && Imprime titulos
Endif
l=l+1 && Imprime linea detalle
@ l,01 SAY tabla1. Fecha
@ l, PCOL() SAY tabla1. Numero
@ l, PCOL() SAY tabla1. Importe
suma_total=suma_total+tabla1.importe
ENDSCAN
@ l, 01 SAY "TOTAL FINAL"
@ l, PCOL()+1 SAY TRANSFORM(suma_total,"@KZ 999,999.99")
SET PRINTER TO
SET DEVICE TO SCREEN
*************************************************************************************************
FUNCTION TITULA
PARAMETERS mi_opcion
STORE 0 TO l
pag=pag+1
IF mi_opcion=1
l=l+1
@ l,01 SAY "VIENEN...."
@ l,PCOL()+1 SAY TRANSFORM(suma_total,"@KZ 999,999.99")
ENDIF
l=l+1
@ l,01 SAY "Fecha"
@ l, PCOL()+1 SAY "Comprobante"
@ l, PCOL()+1 SAY "Importe"
ENDFUNC
*************************************************************************************************
Hola gracias por contestar, bueno lo que sucede es que ahora mi reporte lo he he creado con el reporteador de Visual Fox ya que la impresión me alcanza en una hoja A4 - horizontal, yo genero la vista prelimianr de la siguiente manera:
REPORT FORM d:\Ruta\reg_venta PREVIEW
Y para imprimir hago lo siguiente:
REPORT FORM d:\ruta\reg_venta TO PRINTER PROMPT NOCONSOLE con este reporte solo he lo grado imprimir el total final y lo q quiciera hacer es lo q te comenté lineas arriba con los y los vienen, pero con este tipo de reporte.
Lo que tienes que hacer es crear una variable en donde se acumulan los importes,
la colocas en el Header y en el Footer de tu página
variable=suma_total
Calcuation Type=Sum
Hola, he creado la variable publica llamada suma en el dataenvironment / init del reporte, luego la variable suma lo inicializado a 0 al final hice lo siguiente:
suma=suma+total
Luego he insertado un campo y he clocado la variable suma en el page header pero el resultado me da cero cuando ejecuto el reporte.
En el report properties de tu reporte revisa lo siguiente:
Variable=suma
Value to Store=nombre_de_tu_archivo.total
Reset value=Report
Calculation Type=Sum
Quita de tu reporte suma=suma+total
Eso es todo
Cuándo hago doble clic en el reporte me sale la ventana de data environmet y al hacer clic con el botón derecho en esta ventana me sale propiedades del reporte a eso te refieres cuando dices report/properties?
Si estas usando VFP9,
en el menu selecciona <span style="font-weight: bold;">Informe</span>, luego <span style="font-weight: bold;">Variables</span>, ahi muestra la ventana <span style="font-weight: bold;">Report Properties</span>
Data Environment es el entorno de datos
Bueno estoy usando Vfox 8, he creado la variable suma desde el menu report en value to store he colocado nombretabla.campo en initial value=0, en Reset AT=End of reporte y en calculate SUM. Tengo 4 bandas Title, Page Header, Detail y Page Footer y si la variable va acumulando los totales he colocado en la banda titulo VIENEN .... Variable Suma  y en la Banda Detail he colocado VAN .... variable Suma, lo q quiero hacer es q VIENEN ... Variable suma me salga a partir de la segunda hoja me sale en la primera hoja y como no hay nada acumulado me sale 0. Tengo q agregar otra banda o como podria hacer.
Indícale que solo imprima cuando tu variable es > 0, y eso es todo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas