FoxPro/Visual FoxPro - SET PRINTER TO NAME ....

   
Vista:

SET PRINTER TO NAME ....

Publicado por Rafael (42 intervenciones) el 16/01/2012 14:21:42
Buenos dias.
Tengo un problema con esto que no se como continuar..

Tengo varias impresoras instaladas en mi pc y necesito hacer varias impresiones apuntando a diferentes impresoras.

Lo que hago es lo siguiente:

cNameImpresor=GETPRINTER()
set printer to name (cNameImpresor)
report form MiInforme TO PRINTER NOCONSOLE


El problema esta en que cuando intento imprimir el reporte, en vez de salir por la impresora me sale una pantalla como para guardar el resultado del informe en un archivo pdf.

La unica forma que me funcione es haciendo lo siguiente pero no es lo que necesito.
report form MiInforme TO PRINTER prompt


Muchas gracias por todo y espero puedan darme una idea.

saludos
Rafael
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

SET PRINTER TO NAME ....

Publicado por santiago (376 intervenciones) el 17/01/2012 15:46:52
Hola, anteriormente he tenido un problema similar, lo solucione usando:

cscript prnmngr.vbs -t -p "canon ip2700 series"

este comando permite escoger la impresora deseada y heredar las preferencias de impresión de Windows (cosa que no hace el NET USE)

cscript se encuentra en C:\WINDOWS\SYSTEM32

este comando lo pongo dentro de un archivo .bat, mismo que ejecuto con un RUN, antes del: report form MiInforme TO PRINTER prompt, de esa forma el usuario no tiene que escoger nada, solo dar <enter>.

el archivo .bat, va mas o menos así:

@ECHO OFF
c:
cd..
cd..
cd..
cd..
cd windows
cd system32
cscript prnmngr.vbs -t -p "canon ip2700 series"

rem ' Abstract:
rem ' prnmngr.vbs - printer script for WMI on Whistler
rem ' used to add, delete, and list printers and connections
rem ' also for getting and setting the default printer
rem '
rem ' Usage:
rem ' prnmngr [-adxgtl?][c] [-s server][-p printer][-m driver model][-r port]
rem ' [-u user name][-w password]
rem '
rem ' Examples:
rem ' prnmngr -a -p "printer" -m "driver" -r "lpt1:"
rem ' prnmngr -d -p "printer" -s server
rem ' prnmngr -ac -p "\\server\printer"
rem ' prnmngr -d -p "\\server\printer"
rem ' prnmngr -x -s server
rem ' prnmngr -l -s server
rem ' prnmngr -g
rem ' prnmngr -t -p "printer"
rem '

** en los REM estoy poniendo las opciones que tiene el cscript prnmngr.vbs


Suerte.
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

SET PRINTER TO NAME ....

Publicado por Rafael (42 intervenciones) el 18/01/2012 14:26:51
Santiago, sinceramente no conocia esa parte y me sirve para hacer muchas cosas ya que tiene muchos parametros.
El problema es que mi aplicacion sigue sin funcionar. No se que puede ser.
Genere el archivo .bat, ejecuto sin problemas el .bat antes del reporte y sin embargo me sigue pidiendo donde quiero guardar el reporte.

Se te ocurre alguna otra cosa??
Muchas gracias igual ya que la informacion que me pasaste es muy valiosa.

Saludos
Rafael
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

SET PRINTER TO NAME ....

Publicado por alan alanlcastillo@hotmail.com (1 intervención) el 25/01/2012 01:32:23
hola no se si ya resolviste tu problema espero que si, sino tratare de ayudar,
segun veo tu codigo esta correcto,
ejemplo de como se usa
*----
LOCAL lcPrinter
lcPrinter = ''
lcPrinter = GETPRINTER()

IF !EMPTY(lcPrinter)
SET PRINTER TO NAME (lcPrinter)
REPORT FORM Test TO PRINTER NOCONSOLE
ELSE
WAIT WINDOW 'imprecion cancelada' TIME 1
ENDIF
*------
lo otro que podrias es tratar de almacenar el nombre de la impresora en una variable de memoria y luego pasarle ese valor a SET PRINTER TO NAME

algo asi
lcPrinter = GETPRINTER()
lcprinter1 = alltrim(" ' "+lcprinter+" ' ")
SET PRINTER TO NAME &lcPrinter1
es lo mismo que lo otro pero de una forma distinta

lo que me parece extraño es que te salga para guardar el informe en PDF, eso quiere decir que esta predeterminada otra impresora, te aconsejo que revises los valores de las variables para saber que es lo que estas recibiendo de getprinter.
espero haber ayudar.
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

SET PRINTER TO NAME ....

Publicado por Jorge (30 intervenciones) el 25/01/2012 02:01:36
En VFP 9 probé directamente con

Set Printer To Name Getprinter()

y guardaba la configuración, y si presionas esc o haces click en cancel te deja la impresora que estaba seleccionada anteriormente.

Saludos,

Jbc.
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