martes, 18 de junio de 2019

Como Generar reportes en Visual Foxpro

Crear Reportes Con VFP

Este Ejemplo demuestra las características de como generar un nuevo tipo de reportes de VFP y los tipos de informes que puedes  utilizar utilizan el shellexecute.

Este programa te brinda la oportunidad de poder pre-visualizar el reporte el cual tu deseas realizar dentro del mismo formulario en un archivo de Texto.



Podrás realizar reportes PDF sin ningún tipo de inconveniente, tan solamente basta con tener el instalado el ADOBE y problema resuelto, el programa generará el reporte.

En el inicio del programa en el evento Load realizaremos una serie de instrucciones el cual nos permitirá crear un archivo libre denominado "PRUEBA.DBF" e insertaremos unos productos para poder realizar el ejemplo como tal e indexaremos el archivo por el campo código.

Deberás colocar en la parte central de tu formulario un grid e ir a la parte de las propiedades para configurar sus valores como tal.

Propiedades del Grid

AllowHeaderSizing     .f.
AllowRowSizing         .f.
Backcolor               0,0,0
DeleteMark               .f.
FontName             Courier New
Forecolor               0,255,0
GridLines                  0 None
Height                     432
Higlight                    .t.
Higlightrow              .f.
Left                         48
PanelLink                .f.
ReadOnly                .f.
RecordMark             .f.
RecorSource         Vispre.i1
RecordSourceType    0 Table
Width                    625
  
En el Init del formulario debemos colocar lo que será el cuerpo del programa :

clear
thisform.Caption ="Reportes en Visual Foxpro"
Create Table vispre Free (i1 c(20),i2 c(20), i3 c(20),i4 c(20),i5 c(20), i6 c(20), i7 c(20) )
Set Devi To File "temp.txt"
Select prueba
Set Index To prueba Order codigo
Go Top
x=0
x=x+1
@ x,1 Say "Reporte Inventario" Font "Arial",6
x=x+1
@ x,1 Say "Fecha: " +Dtoc(Date())
x=x+1
@ x,1 Say Replicate ("-",80)
x=x+1
@ x,2 Say "Codigo  Descripcion del Producto        Cantidad       Precio     Total"
x=x+1
@ x,1 Say Replicate ("-",80)
x=x+1
mcodigo=""
mcodigo=codigo
tot=0
Do While !Eof()
@ x,2 Say codigo+"   "+descrip+"    "+TRANSFORM(cant,"999")+"     "+TRANSFORM(precio,"99999999.99")+" "+TRANSFORM(cant*precio,"99999999.99"
If x>1000
Set Devi To Screen
Select "vispre"
Append From "temp.txt" Sdf
Set Devi To File "temp.txt"
x=0
Endif
Select prueba
If !Eof()
SKIP
x=x+1
Endif
Enddo
@ x,1 Say Replicate ("-",80)
Set Devi To Screen
Select "vispre"
Append From "temp.txt" Sdf
Thisform.grid1.RecordSource="vispre"
Thisform.Refresh
Thisform.grid1.column1.text1.SetFocus

En el Botón Check1 en el evento click debes colocar lo siguiente para generar el reporte PDF.

Declare Integer ShellExecute In "shell32.dll" Integer HWnd,String lpOperation,String lpFile,String lpParameters,String lpDirectory,Long nShowCmd
Create Table vispre Free (Item c(100))
Append From  "temp.txt" Sdf
Select vispre
Go Top
Set Devi To Screen
Do foxypreviewer.App
xdir_pdf="Inventario"
Report Form rinforme11.frx Object Type 10 Noreset To File ALLTRIM(xdir_pdf)+'.PDF'
cRutaPDF = ALLTRIM(xdir_pdf)+'.PDF'
ShellExecute(0, "open", cRutaPDF,"", Fullpath(""),0)
Thisform.Release

Para salir del programa debemos ir al Keypress y agregar lo siguiente:

IF nkeycode=27
   thisform.release
ENDIF



En las propiedades del formulario en KeyPreview deberá estar en .t. para poder activar la tecla Esc.







Related Posts:

  • Como Redondear N centavos hacia arriba REDONDEO Esta función redondea a N centavos hacia arriba. Cada aplicación tiene sus propias necesidades de redondeo, diferentes a la función nati… Read More
  • Programa para ver Características de mi PC Características de mi Equipo En muchas ocasiones no requerimos del los conocimientos a nivel de software y hardware que tenga cada usuario, algunas… Read More
  • Usando Código QR con VFPCódigo QR He aquí la forma de como obtener el código QR en tu Form. Los códigos QR se han vuelto muy populares y por eso es importante que sepa… Read More
  • Códigos de Barras Código de Barras En este artículo te vamos a presentar unas series de funciones para generar códigos de barras del tipo 128,Bar 39 y el EAN-13 con … Read More
  • Calculadora en VFP Calculadora Mucha veces queremos implementar una calculadora en nuestros sistemas pero factor tiempo no nos proponemos a realizar el programa p… Read More

0 comentarios:

Publicar un comentario