FoxPro/Visual FoxPro - generar cartas pdf desde vfp

 
Vista:

generar cartas pdf desde vfp

Publicado por richard (197 intervenciones) el 29/06/2021 02:03:11
HOLA amigos del foro

estoy tratando de generar unos archivos pdf desde vfp

les explico

tengo una informe que es una carta que se le va a enviar a varios clientes esta información sale de varias tablas y genero un cursor

la idea es que el sistema genere un documento por cada cliente con su nombre y un numero de radicado y lo guarde en una carpeta.

este es el codigo que utilizo pero no me genera nada

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
nom = "Registros: "
SELECT cur_td001
***********
DO WHILE .T.
   IF EOF( )
        EXIT
   ENDIF
 
 
    rutaGuar = "C:\JUEZDYNAMIC1\IMPULSOS\"+ALLTRIM(cur_td001.nomcontra)+"-"+ALLTRIM(cur_td001.nradica)+".pdf"
 
Do "FoxyPreviewer.App"
_Screen.oFoxyPreviewer.lRepeatInPage = .T.
 
Report Form cartandespcomi.frx To File rutaGuar Object Type 10
Do FoxyPreviewer.App &&  With "Release"
SET ENGINEBEHAVIOR 70
 
  lsu = lsu + 1
  apll = STR(lsu)
     WAIT nom + apll WINDOW AT 70,20 TIMEOUT 0.005
 
  SELECT cur_td001
     SKIP
   ENDDO
 
apll = STR(lsu)
*
 mMens1="Registros Grabados " + apll + CHR(13)
 
 mOpc = messagebox(mMens1,0+48,"Atencion")

cualquier ayuda se los agradezco
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

generar cartas pdf desde vfp

Publicado por richard (197 intervenciones) el 29/06/2021 14:21:11
HOLA AMIGOS DEL FORO

DE LA FORMA COMO LES MOSTRE EL CODIGO NO ME GENERABA EL PDF HICE ESTO:

1
2
3
4
5
6
Do "FoxyPreviewer.App"
_Screen.oFoxyPreviewer.lRepeatInPage = .T.
 
Report Form cartandespcomi.frx To File "C:\JUEZDYNAMIC1\IMPULSOS\"+ALLTRIM(cur_td001.nomcontra)+"-"+ALLTRIM(cur_td001.nradica)+".pdf" Object Type 10
Do FoxyPreviewer.App With "Release"
SET ENGINEBEHAVIOR 70

le asigne la ruta directamente porque antes la tenia definida en una variable llamada rutagar.

SI ME GENERA EL PDF PERFECTO
PERO ME GENERA UN SOLO ARCHIVO CON LAS 10 CARTAS Y
NO ES ASI COMO LO QUIERO
LO QUE SE QUIERE ES EL GENERE UN PDF POR CADA REGISTRO
SI SON 10 REGISTROS SON 10 ARCHIVOS PDF

Les agradezco su ayuda si alguien tiene una idea

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 147
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

generar cartas pdf desde vfp

Publicado por zarlu (97 intervenciones) el 29/06/2021 16:10:18
Buenos días Richard!

Necesitas filtrar los registros..
ya sea en el informe:
REPORT FORM informe1 FOR dias="Lunes".....
O antes de ejecutar al reporte filtrar tu tabla o cursor:
Set filter to dias="Lunes"
Report Form ......
Set Filter to

Para tu caso te sugiero filtrar en el reporte con un Scan

Scan
....
REPORT FORM informe1 FOR dias="Lunes".....
....
EndScan

Suerte
zarlu
Chetumal, Quintana Roo, México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

generar cartas pdf desde vfp

Publicado por richard (197 intervenciones) el 29/06/2021 18:04:45
hola zarlu

gracias por tu sugerencias no lo hice con Scan pero si había que hacer un filtro hay le dejo la solucion

primero cree un cursor con el campo de identificación

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
************
LCcu1 = "SELECT inup from tdata_t001"
        * and codabop = ?m.PvNitCC"
 lcrdo1 = SQLEXEC (gn1,lcCu1,"cur_td0011")
  if lcrdo1 < 0
     Aerror(verror)
   * wait window 'Error '+
   mMens2 = verror(2)
    =SQLRollback(gn1)
	 mMens1="No se Puede completar la Operación "
	 mOpc = messagebox(mMens1 + mMens2,0+32,"Atencion")
     return
  ENDIF
**************
*******
SELECT cur_td0011
***********
DO WHILE .T.  && Begins loop cartandespcomi
 IF EOF( )
              EXIT
   ENDIF
******************
STORE  cur_td0011.inup TO nupe
*********************************************

2) genero un cursor solo con el registro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
******************
LCcu1 = "SELECT inup,nomcliente,nomcontra,nomjuzgado,nradica,nomciudad,nitcontra,nomproceso,rutadoc,emailjuz,nomabogado,cedulaab,ntarjetap,ciudadcedu from tdata_t001 where inup = ?m.nupe"
        * and codabop = ?m.PvNitCC"
 lcrdo1 = SQLEXEC (gn1,lcCu1,"cur_td001")
  if lcrdo1 < 0
     Aerror(verror)
   * wait window 'Error '+
   mMens2 = verror(2)
    =SQLRollback(gn1)
	 mMens1="No se Puede completar la Operación "
	 mOpc = messagebox(mMens1 + mMens2,0+32,"Atencion")
     return
  ENDIF
**************
nom = "Registros: "
SELECT cur_td001
***********
*** genera el documento pdf
Do "FoxyPreviewer.App"
_Screen.oFoxyPreviewer.lRepeatInPage = .T.
Report Form cartandespcomi.frx To File "C:\JUEZDYNAMIC1\IMPULSOS\"+ALLTRIM(cur_td001.nomcontra)+"-"+ALLTRIM(cur_td001.nradica)+".pdf" Object Type 10
Do FoxyPreviewer.App With "Release"
SET ENGINEBEHAVIOR 70
 
*
  lsu = lsu + 1
  apll = STR(lsu)
     WAIT nom + apll WINDOW AT 70,20 TIMEOUT 0.005
 
   SELECT cur_td0011
     SKIP
   ENDDO
  *
apll = STR(lsu)
*
 mMens1="Registros Grabados " + apll + CHR(13)
 *
 mOpc = messagebox(mMens1,0+48,"Atencion")
 
return

AQUI LES COMPARTO EL CODIGO Y AHORA SI ME GENERA UN ARCHIVO PDF POR CADA REGISTRO

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar