Imprimir varios datastores en el mismo job
Publicado por Pedro López (68 intervenciones) el 31/08/2001 14:35:13
Hola a todos
Estoy intentando imprimir varios datastores en el mismo job, pero me he encontrado los siguientes problemas (en PB 6.5):
1.- Si la orientación del papel es landscape en el objeto dw, se ignora esta propiedad y se imprime con formato portrait, que es el que está por defecto en la configuración de la impresora.
2.- Si al abrir el job el foco está en otra ventana diferente a la que abre el job, la función PrintOpen() me devuelve -1, y no se puede imprimir.
Si imprimo cada datastore por separado con la función Print, funciona correctamente, pero me han pedido que se imprima todo en el mismo job.
El código que utilizo es el siguiente:
// Abrir job
ll_IdImp = PrintOpen()
if ll_IdImp = -1 then
Messagebox ("Error", "No se ha abierto job.")
else
li_num_impresiones = upperbound (ids_impr[])
for ll_cont = 1 to li_num_impresiones
// Imprimir
PrintDataWindow (ll_IdImp, ids_impr[ll_cont])
Next
// Cerrar job
PrintClose (ll_IdImp)
end if
¿Sabéis como se pueden resolver estos problemas?
Muchas gracias
Pedro
Estoy intentando imprimir varios datastores en el mismo job, pero me he encontrado los siguientes problemas (en PB 6.5):
1.- Si la orientación del papel es landscape en el objeto dw, se ignora esta propiedad y se imprime con formato portrait, que es el que está por defecto en la configuración de la impresora.
2.- Si al abrir el job el foco está en otra ventana diferente a la que abre el job, la función PrintOpen() me devuelve -1, y no se puede imprimir.
Si imprimo cada datastore por separado con la función Print, funciona correctamente, pero me han pedido que se imprima todo en el mismo job.
El código que utilizo es el siguiente:
// Abrir job
ll_IdImp = PrintOpen()
if ll_IdImp = -1 then
Messagebox ("Error", "No se ha abierto job.")
else
li_num_impresiones = upperbound (ids_impr[])
for ll_cont = 1 to li_num_impresiones
// Imprimir
PrintDataWindow (ll_IdImp, ids_impr[ll_cont])
Next
// Cerrar job
PrintClose (ll_IdImp)
end if
¿Sabéis como se pueden resolver estos problemas?
Muchas gracias
Pedro
Valora esta pregunta
0