Auxilio por favor

393 views
Skip to first unread message

GAZ

unread,
Feb 3, 2009, 11:40:43 PM2/3/09
to Mundo Visual FoxPro
Hola amigos:

De nuevo disculpen las molestias, estoy algo torpe ya me an pasado
varios tips con respecto a determinar el numero de sesion con el cual
entra el usuario en un servidor remoto y no doy con bola.

Estoy tratando de asignar la impresora que corresponde a la sucursal

este es mi codigo

SET CONSOLE OFF
SET DEVICE TO PRINT
SET PRINTER TO
SET PRINTER TO NAME Epson LX-300 Fact

REPORT FORM &pdirc.reportes\pedvta ALL FOR pedido2.numsold=mpedini2 ;
TO PRINT NOCONSOLE

SET DEVICE TO SCREEN
SET PRINTER off
SET PRINTER TO
SET CONSOLE ON

Al ejecutarce SET PRINTER TO NAME Epson LX-300 Fact, Envia el
sisguiente mensage, ERROR AL TENER ACCESO A LA COLA DE IMPRESION

En que estoy mal

Estoy realizando esta prueba en mi pc sin conexion a red, ya
resolbiendo este problema, el procedimiento para enviar la impresion a
la sucursal e impresora correecta seria:

Al momento que el susurio entre al sistema ejecutare un GETPRINTER()
guardando el resultado en una variable publica leyendo el ultimo valor
de la cadena siendo este el numero de sesion Epson LX-300 reportes
(desde Almacen) en la sesion 3, Variable publica moksesion= 3

Ya obteniendo esto creo una variable mokprinter="Epson LX-300 Fact
(desde Almacen) en la sesion "+STR(moksesion)

SET PRINTER TO NAME &mokprinter
o
SET PRINTER TO NAME "Epson LX-300 Fact (desde Almacen) en la sesion
"+STR(moksesion)

De antemano Mil Gracias, Buen Dia

GOOD_FOX

unread,
Feb 4, 2009, 1:31:39 AM2/4/09
to Mundo Visual FoxPro

Prueba colocando lo siguiente... cuando haces un str(mokprinter) le
asigna por defaul 10 espacios y en tonces no puede leer la
impresora...
ya que el valor que te regresa es...

por ejemplo

"Epson LX-300 Fact 3"

y lo correcto creo.. es.

"Epson LX-300 Fact3"

solo agrega un Allt(Str(moksesion))

mokprinter="Epson LX-300 Fact"+allt(STR(moksesion) )

GAZ

unread,
Feb 4, 2009, 11:05:25 AM2/4/09
to Mundo Visual FoxPro
Hola GOOD_FOX

No e llegado a completar mi proceso de formar el nombre de la
impresora de red

Me quede en las pruebas sin conexion a red, donde indico el nombre de
la impresora local

SET PRINTER TO NAME Epson LX-300 Fact

Aqui es donde me manda el error
ERROR AL TENER ACCESO A LA COLA DE IMPRESION

Epson LX-300 Fact es el nombre asignado a mi impresora local, ya
resuelto mi error asignaria tu valiosa aportacion

Me podrian decir el porque del error

Gracias

sin dios no soy nada

unread,
Feb 4, 2009, 11:31:36 AM2/4/09
to mundovis...@googlegroups.com
los nombres de impresora no tienen que llevar espacios
set printer to name EpsonLX300Fact
perdona mi ignorancia si estoy equivocado

Set Printer To NAME \\CajaLub\Boletas
Repor Form "Repor\ImpBol" TO Print


Set Printer To NAME \\CajaLub\Recibos
Repor Form "Repor\ImpFac" TO Print


SET PRINTER TO NAME &LCRUTA_IMPRESORA

--------------------------------------------------
From: "GAZ" <gay...@hotmail.com>
Sent: Wednesday, February 04, 2009 10:05 AM
To: "Mundo Visual FoxPro" <mundovis...@googlegroups.com>
Subject: [Mundo Visual FoxPro] Re: Auxilio por favor

GOOD_FOX

unread,
Feb 4, 2009, 12:11:38 PM2/4/09
to Mundo Visual FoxPro
Es correcto lo de los espacios, marca un error si se coloca de esta
forma

Set Printer To Name Epson Lx-300 Fac

pero lo solucionas así...

lcImpresora = " ' "+"Epson Lx-300 Fac"+" ' "

Set Printer To Name &lcImpresora

saludos...!!




Marlon Cabrera

unread,
Feb 4, 2009, 5:38:34 PM2/4/09
to mundovis...@googlegroups.com
No tengo el codigo que te habia enviado anteriormente sobre este respecto ahora lo busco, pero dos cosas rápidas
el nombre de la impresora si puede llevar espacios y debes poner la ruta de acceso a la red, esto es\\impresora o \\equipoPCimpresora\nombreimpresora, como corresponda. Y el detalle con los espacios es que al poner el & este elimina los espacios recuerda es que macro sustitución que
 
lcImpresora = "Epson Lx-300 Fac"
Set Printer To Name &lcImpresora
 
se convierte a
 
Set Printer To Name Epson Lx-300 Fac

mejor usa

Set Printer To Name ((lcImpresora))
 
Y recuerda que te decia que tomes el nombre con GETPRINTER y lo alcenes en una tabla así no hay por donde solo lo usas a como Fox lo guardo y luego Set Printer To Name ((lcImpresora))

GAZ

unread,
Feb 4, 2009, 10:12:37 PM2/4/09
to Mundo Visual FoxPro
Mil gracias por su ayuda, voy aplicar todos sus consejos y a la
brevedad posible notificare todo mi procedimiento como el codigo
utilizado

Que Dios los siga bendiciendo con sabiduria y de igual forma la sigan
compartiendo.

Gracias Buen dia

Ricardo Natella

unread,
Feb 12, 2009, 6:12:27 AM2/12/09
to mundovis...@googlegroups.com
Hola, puedes probar: ? GETPRINTER() en la línea de comando para ver como tienes que especificar el nombre de la impresora.
Tal cual como veas el nombre que te devuelve la función tienes que poner en la sentencias SET PRINTER TO NAME xxxxxxxx
Sucede que según el sistema operativo que uses y como define el servidor de impresión los nombre de las impresoras, tienes que especificar a Fox de la misma manera.
Espero haberte ayudado.

-----Mensaje original-----
De: mundovis...@googlegroups.com [mailto:mundovis...@googlegroups.com] En nombre de GAZ
Enviado el: miércoles, 04 de febrero de 2009 02:41
Para: Mundo Visual FoxPro
Asunto: [Mundo Visual FoxPro] Auxilio por favor

Marlon Cabrera

unread,
Feb 12, 2009, 10:03:47 AM2/12/09
to mundovis...@googlegroups.com
Ten cuidado con las comillas y con el uso del & que si el nombre tiene espacios te falla.  Y como te dijeron anteriormente ten cuidado con el nombre de red, que esa impresora de abajo no es red le faltan "\\server\"
 
SET CONSOLE OFF
SET DEVICE TO PRINT
SET PRINTER TO
SET PRINTER TO NAME "Epson LX-300 Fact"

REPORT FORM (pdirc.reportes\pedvta) ALL FOR pedido2.numsold=mpedini2 ;
      TO PRINT NOCONSOLE

SET DEVICE TO SCREEN
SET PRINTER off
SET PRINTER TO
SET CONSOLE ON

2009/2/12 Ricardo Natella <Ricard...@rafalim.com>
Reply all
Reply to author
Forward
0 new messages