FoxPro/Visual FoxPro - Impresion tamaño de papel en vfp7 con windows 7

 
Vista:
sin imagen de perfil

Impresion tamaño de papel en vfp7 con windows 7

Publicado por Joel (2 intervenciones) el 24/08/2014 07:04:05
Buenas tardes amigos de la web del programador

como puedo genrar una pagina personalizada para la impresin de facturas, esto en vfp 7 con windows 7

se los agradeceria bastante
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

Impresion tamaño de papel en vfp7 con windows 7

Publicado por Saul (728 intervenciones) el 25/08/2014 07:19:13
Mi consejo es el siguiente

1.- Crea un tamaño personalizado en Impresoras
2.- Mandaralo a Imprimir a Excel, como si hicieras un reporte en Excel Y en lugar de crear la pagina en Excel
hazla antes y ponla como plantilla, a modo que cuando uses excel, solo abre el archivo.
3.- Asigna el Tamaño de papel a Excel.
4.- Imprimi los datos desde Excel, pero que no lo puean ver nadie mas que tu, y asi se puede simular como si
Vfp es el que imprime, pero el que realmente imprime es Excel.

5.- Te mando el ejemplo de mi archivo, ponle el nombre que quiereas (_Saul.PRG)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
*PARAMETERS _Archivo
 
PRIVATE lcTextFile
lcTextFile = ''
xD = SYS(5)
_Archivo = "ReciboSalud"
 
lcTextFile = xd+"\Software\Sistemas\General\"+ _Archivo +".xls"
 
crutinaerroractual = ON("Error")
lhuboerror = .F.
ON ERROR LHUBOERROR = .T.
oexcel = CREATEOBJECT("Excel.Application")
ON Error &cRutinaErrorActual
IF lhuboerror
     nresp = MESSAGEBOX("¿Desea generar una lista sin formato?", 35,"Excel NO esta instalado en esta computadora.")
     IF nresp = 6
          generacsv()
     ENDIF
ELSE
     generahojaelectronica()
ENDIF
RETURN
ENDPROC
 
** Si no Existe excel Quiere mandar a un Archivo
PROCEDURE GeneraCSV
carchivo = GETFILE("Hoja excel:XLS",  ;
           "Archivo Excel",  ;
           "Grabar", 0)
IF EMPTY(carchivo)
     = MESSAGEBOX("Debe seleccionar un nombre de archivo.",64, "Error")
ELSE
     COPY TO (carchivo) TYPE XLS
     = MESSAGEBOX("El archivo fue grabado satisfactoriamente",0, "")
ENDIF
ENDPROC
 
 
**Cominesa a Generar la Hoja
PROCEDURE GeneraHojaElectronica
	WAIT WINDOW NOCLEAR NOWAIT  "Imprimiendo, espere un momento por favor."
 
	oexcel.DisplayAlerts = .F. && Algo asi como SET SAFETY OFF
	oexcel.workbooks.Open(lcTextFile)
 
	WITH oexcel.worksheets(1)
 
	 ** Barre la tabla en el Excel
     GOTO TOP
     SUM Cantidad*Unitario TO nMontox
     GOTO TOP
 
     j   = 9
	 nMonto =  ALLTRIM(STR(nMontox,12,2))
	 nNombre = alltrim(nCli)
	 nLetras = ALLTRIM(numlet(nMontox))
	 nNotita = ALLTRIM(nObserva)
	 nTotCar = 0.00
 
	 	  .range("B03").value =  ALLTRIM(nNomCC)	&&Imprime el Nombre del Centro de Costo
		  .range("F04").value =  nFactura
		  .range("C05").value =  nNombre
		  .range("C06").value =  nNit
		  .range("F06").value =  nFecha
		  .range("C07").value =  nNotita
     SCAN ALL
 
			cj = ALLTRIM(STR(j, 10,0))
 
          .range("B" + cj).value = "'" +codigo
          .range("C" + cj).value = descripcion
          .range("D" + cj).value = cantidad
          .range("E" + cj).value = unitario
 
    	      IF ROUND(Cantidad * UniTario,2) > 0
		          .range("F" + cj).value = ROUND(Cantidad * UniTario,2)
	    	  ENDIF
 
			nTotCar = ROUND(Cantidad * UniTario,2) + nTotCar
 
          j = j + 1
 
     ENDSCAN
 
		*-Totales
		  .range("F19").value =  nTotCar
 
	      .range("E9:F19" + cj).select()
		  oexcel.selection.numberformat =  "#,##0.00_);[Red](#,##0.00)"
 
		*- Explicacion
 		.range("C21").value =  nLetras
ENDWITH
 
	*-Impresion
	oexcel.visible = .f.
	oexcel.activeworkbook.printout()
	oexcel.application.quit
 
 
	*-Desconectar
	RELEASE oexcel
	WAIT CLEAR
ENDPROC
**


Suerte, espero te sirva de algo

Saludos
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