Inicio > Visual FoxPro > victoramf > Calculos en impresion de reporte

Calculos en impresion de reporte

Experto:
Usuario:
Fecha: 08/07/2008
Valoración: (4,00 sobre 5) Categoría: Visual FoxPro
04/07/2008
alfidimu, usuario preguntando en Visual FoxPro
Usuario
Hola victor he relizado el reporte en papel continuo, pero sucede que al final de la hoja o despues de la linea 58 tengo que colocar  VAN y la suma de la primera hoja y en la siguiente hoja tengo que colocar VIENEN y el monto de la primera hoja, si hay mas hojas tuviera que sumar el monto de cada hoja y al fional colocar VAN y en la hoja siguiente vienen y al final de la impresion un total general, habra forrma de hacer esto?.  Este es el prg que imprime el reporte:

SET DEVICE TO PRINTER
set printer to name solotexto
linea=1
SELECT 1
USE d:\libros\datos\final SHARED
SCAN ALL
   if linea=1
       =Cabecera()
   endif
   =imprimeLinea()
   linea=linea+1
   if linea >= 58
   EJECT 
   linea=1
      =Cabecera()
   endif
ENDSCAN
set printer to defa
*******************
PROCEDURE cabecera
*******************
  ..................
  ..................
  linea=linea+18
  return
***********************
procedure imprimeLinea
***********************
 .............................
..........................
return
04/07/2008
alfidimu, experto respondiendo en Visual FoxPro
Experto
Intenta:

Set Printer To Name solotexto
Set Device To Print
linea = 1
vienen = 1
USE d:\libros\datos\final In 0 Shared
Select final
Go Top
Do While !Eof()
    If linea = 1
        Cabecera()
       EndIf
       ImprimeLinea()
       linea = linea+1
       vienen = vienen + 1
       van = van + 1
       If linea >= 58
           ??? van
           Eject
           linea = 1
          Cabecera()
          ??? vienen
    EndIf
    Skip
EndDo
Set Printer To Default
Set Device to Screen
04/07/2008
alfidimu, usuario preguntando en Visual FoxPro
Usuario
Justamente lo q quiero hacer es  obtener el valor de van o sea me piden que el reporte sea asi:
Primera hoja
0084 fecha 1,000.00                   00425 fecha 5,000.00
0084 fecha 1,000.00                   00426 fecha 5,000.00
0085 fecha 1,000.00                   00427 fecha 5,000.00
0085 fecha 1,000.00 (línea 58)   00428 fecha 5,000.00
           VAN 4,000.00                              VAN 20,000.00
En la siguiente hoja
     VIENEN 4,000.00                         VIENEN 20,000.00
0086 fecha 1,000.00                   00429 fecha 5,000.00
0087 fecha 1,000.00                   00430 fecha 5,000.00
0088 fecha 1,000.00                   00431 fecha 5,000.00
0089 fecha 1,000.00                   00432 fecha 5,000.00
TOTALES     8,000.00                                     40,000.00
04/07/2008
alfidimu, experto respondiendo en Visual FoxPro
Experto
En lugar de sumar 1 (uno) suma la cantidad que deseas acumular
04/07/2008
alfidimu, usuario preguntando en Visual FoxPro
Usuario
No te entiendo bien lo que me quieres decir,  a que te refieres con sumar la cantidad.
05/07/2008
alfidimu, experto respondiendo en Visual FoxPro
Experto
La cantidad es la suma que "llevas" , en el ejemplo te puse:
van=van+1

Módifica esa línea para que sea
van = van + lo que quieras ir acumulando
07/07/2008
alfidimu, usuario preguntando en Visual FoxPro
Usuario
Entonces tuviera que ir acumulandose el campo de la tabla?
van=van+acreedor
 
08/07/2008
alfidimu, experto respondiendo en Visual FoxPro
Experto
Si lo que quieres es ir acumulando acreedor, si, esa es la instrucción.
08/07/2008
alfidimu, usuario preguntando en Visual FoxPro
Usuario
Muchas gracias
Enlaces patrocinados