• Lunes 23 de Diciembre de 2024, 09:48

Autor Tema:  Re: Imprimir en diferentes impresoras  (Leído 3226 veces)

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Imprimir en diferentes impresoras
« en: Lunes 9 de Diciembre de 2002, 20:41 »
0
Amigos:

Tengo la siguiente situacion:
Tengo una aplicacion multiusuario, que realiza diferentes procedimientos. Y tengo varias impresoras en red. Cada impresora con un tipo de papel diferente (por el tipo de informacion que imprime).

Como puedo hacer que el usuario al realizar un proceso de :
a). Orden de compra, la impresion salga en la impresora 01.
b). Factura, la impresion salga en la impresora 02.
c). Recibo de pago, la impresion salga en la impresora 03.

Todo esto en forma background, transparente para el usuario, sin tener el que elegir en que impresora imprimir, que sea todo automatico.

Muchas gracias a quienes me ayuden.

javierbalk

  • Miembro MUY activo
  • ***
  • Mensajes: 142
  • Nacionalidad: 00
    • Ver Perfil
    • Print preview y grabar PDF en Visual Basic 6
Re: Imprimir en diferentes impresoras
« Respuesta #1 en: Lunes 9 de Diciembre de 2002, 21:11 »
0
Hola José:

En la colección Printers tienes todas las impresoras presentes en el sistema.

Para cambiar la impresora a la que referencia el objeto Printer de VB tienes que hacer por Ej. así:

Dim P  as Printer
Dim LaImpresoraQueQuiero as String

LaImpresoraQueQuiero = "HP692 Desjet etc..."

For Each P in Printers
If P.DeviceName = LaImpresoraQueQuiero then
Set Printer = P
Exir For
End If
Next

Además tendrías que tener una pantalla de configuración en donde el usuario configura a qué impresora va a mandar cada cosa, esto lo hace una sola vez.
Luego podrías guardar esos datos en el registro para saber cual hay que utilizar para cada operación.

Si dsinstaló una de las impresoras y por lo tanto no la encuentra en la colección de printers lo correcto sería informar la situación con un mensaje de error.

Saludos,
Javier

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Imprimir en diferentes impresoras
« Respuesta #2 en: Lunes 9 de Diciembre de 2002, 22:16 »
0
Javier.

Agredezco enormemente tu colaboracion, me ha servido montones.
Entendi claramente las instrucciones y las voy a seguir.
Solo me falta un detalle.
Hice la prueba de acuerdo a tus indicaciones, y puedo mostrar todas las impresoras, y configurar cada una de acuerdo a mis requerimientos.
Pero al momento de disparar un reporte en Crystal, y le indico la impresora. Continua con la impresora por defecto.
¿Cual es mi problema?
El codigo de asignacion es el siguiente:

Reporte.ReportFileName = app.path & "REPORTESDOCTOS_RECIBIDOS.RPT"
Reporte.PrinterName = LaImpresoraQueQuiero
Reporte.Destination = crptToPrinter
Reporte.Action = 1


Un agradecido

javierbalk

  • Miembro MUY activo
  • ***
  • Mensajes: 142
  • Nacionalidad: 00
    • Ver Perfil
    • Print preview y grabar PDF en Visual Basic 6
Imprimir en diferentes impresoras
« Respuesta #3 en: Lunes 9 de Diciembre de 2002, 22:30 »
0
Hola José:

La verdad que nunca trabajé con Crystal, así que no te sabría decir como hacer.

Recuerdo que hace como una semana alguien planteó lo mismo en otro foro, creo que era en el de Microsoft: http://communities.microsoft.com/newsgr ... %2Ees%2Evb

o el de Mailgate.org: http://www.mailgate.org/es/es.comp.leng ... index.html

Lamento no poderte ayudar más.
Saludos,
Javier

Baskito

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Imprimir en diferentes impresoras
« Respuesta #4 en: Jueves 27 de Julio de 2006, 09:50 »
0
Buenas.

No trabajo mucho con Crystal, pero prueba a pasarle el drivername y el port además del nombre.

reporte.PrinterName = Printer.DeviceName
reporte.DriverName = Printer.DriverName
reporte.PrinterPort = Printer.Port