FoxPro/Visual FoxPro - seleccion de impresora

   
Vista:

seleccion de impresora

Publicado por roman osuna romangabriel@hotmail.com (168 intervenciones) el 23/01/2013 03:18:38
Hola aqui estoy de nuevo molestandolos con una duda, al utilizar el comando:
set printer to name "impresora" aki se puede tambien especificar el tamaño de la hoja ke voy a utilizar?? es decir tengo una aplicacion sobre un reporte pero ke lo debe de imprimir en tamaño media carta, tengo el problema de ke a la impresora le especifike esa hoja (media carta) pero no me la reconoce, sin embargo en el programa viejo ke se estaba utilizando si la reconoce, por eso kiero hacer la prueba por codigo, de antemano muchas 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

seleccion de impresora

Publicado por roman osuna romangabriel@hotmail.com (168 intervenciones) el 23/01/2013 03:34:09
Estoy utilizando el reporteador de vfp
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

seleccion de impresora

Publicado por Saul (676 intervenciones) el 23/01/2013 04:33:34
Hola Roman Osuna, te dejo lo que yo hago en estos casos

para mandar a imprimir llamo un procedimiento que ara un excel, y en excel lo que haces es tu plantilla, como si fuera en el reporteador den Vfoxpro, hablando de los titulos etc.


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
107
DO ImprimeRecibo
 
*.- Yo tengo un archivo PRG que se llama ImprimeRecibo
 
*PARAMETERS _Archivo
PRIVATE lcTextFile
lcTextFile = ''
xD = SYS(5)
_Archivo = "ReciboSalud"
 
lcTextFile = xd+"\TuSistema\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("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
**



Cualquier cosa ya sabes estamos ala orden

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