Página 1 de 1

C63 Seleccionar impresora antes de la vista previa

Publicado: Lun Mar 25, 2013 11:50 pm
por soporte
Hola foro
Necesito poder seleccionar impresora antes que se genere la vista previa, ya que hay algunos template que seleccionan
la impresora despues de la vista y no funciona.
Existe algun template o forma de hacerlo.

Gracias
Saludos
Juan

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Mar Abr 02, 2013 1:54 pm
por Carlos Relva
Hola,
lo que estoy usando es más o menos así.
1 - en el report llamas a una ventana que permite seleccionar la impresora
!window manager init 2700
ReturnValue = datoslistcostos(loc:tipo, loc:tiporubro, loc:detrub)
If ReturnValue then return ReturnValue.
2- El procedimiento datoslistcostos permite cambiar la impresora y darle valor a las variables
que necesita el listado
imagen007.jpg
En el botón que se ve en la imagen llamas al proc para seleccionar laimpresora:
2-a: !botón de la impresora. Accepted prioridad >5000
PRINTERDIALOG('SELECCIONE LA IMPRESORA DEL SISTEMA', 0)
GLO:DEVICE = PRINTER{PROPPRINT:DEVICE}
GLO:PORT = PRINTER{PROPPRINT:PORT}
display()
Las variables globales las uso para mostrar en la pantalla la impresora que está seleccionada.
2-b Podes guardar los valores existentes antes de entrar el proc
!window manager Init 7300
save:port = printer{PROPPRINT:port}
save:device = printer{PROPPRINT:device}
sav:pantalla = GLO:pantalla
2-c y restaurarlos en caso de escapar sin listar
!window manager kill 2300
If self.response = RequestCancelled
printer{PROPPRINT:port} = save:port
printer{PROPPRINT:device} = save:device
GLO:pantalla = sav:pantalla
ret = 1
End
Espero que te sirva. Saludos.

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Mar Abr 02, 2013 4:35 pm
por soporte
Gracias por responder
Voy a agregar tu codigo y pruebo si soluciono el problema.

Saludos
Juan

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Dom Abr 21, 2013 12:23 am
por soporte
Gracias
Anduvo muy bien y me soluciono muchos problemas para direccionar los listados
Saludos

Juan

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Dom Abr 21, 2013 2:05 am
por soporte
Hola
En window manager Report manager Init priority 2700 llamo la window donde selecciono la impresora y rango de fechas.
Como puedo hacer para cancelar el report si presionaron en la windows el boton cancelar.

Gracias
Saludos

Juan

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Dom Abr 21, 2013 7:25 pm
por Carlos Relva
Hola,
usando

Código: Seleccionar todo

ReturnValue = datoslistcostos(loc:tipo, loc:tiporubro, loc:detrub)
If ReturnValue then return ReturnValue.
Si presionas Ok devolvé una variable con 0 o sino con 1(al escapar)

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Dom Abr 21, 2013 11:45 pm
por soporte
Gracias Carlos
Anduvo de 10 y lo de la impresion matricial quedo excelente. Gracias

Saludos
Juan

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Dom Abr 21, 2013 11:46 pm
por soporte
Disculpa
Cual es la variable que tengo que chequear si es 0 o 1 en el report despues de salir de la window de seleccion de impresora

Saludos
Juan

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Lun Abr 22, 2013 2:47 pm
por Carlos Relva
Siguiendo con los nombres que puse en el ejemplo
1 - definis datoslistcostos(loc:tipo, loc:tiporubro, loc:detrub) y le indicas que retorne un byte p. ej (ret)
2- en la estructura de datoslistcostos, si presionas Ok pones Ret = 0 ( o en el takecompleted) y al comienzo, en el init le das valor 1 a esa variable (ret = 1).
3 - En el ejemplo use Returnvalue, pero puede ser cualquier cosa
Ok# = datoslistcostos(x,x,x,)
If Ok# = 1
Return ... (lo que quieras)
End

Re: C63 Seleccionar impresora antes de la vista previa

Publicado: Lun Abr 22, 2013 4:28 pm
por soporte
Gracias solucionado el tema
saludos
Juan