Lo que necesito hacer es que mi sistema de gestion imprima ciertos informes
en una impresora y otros informes en otra impresora.
Para esto, lo que hice fue un formulario donde el usuario configura donde
quiere imprimir, por ejemplo, las facturas (IMPRESORA1) y donde quiere
imprimir los listados (IMPRESORA2).
Al ejecutar, por ejemplo, el formulario de facturacion, verifico cual es la
impresora correspondiente mediante el metodo
"setear_impresora(<id_impresora>)":
**********************************************
LPARAMETERS id_imp
IF id_imp=1 then
SELECT impresora1,id_configuracion;
from conf_impresoras;
into cursor cursor_busqueda
ELSE
SELECT impresora2,id_configuracion;
from conf_impresoras;
into cursor cursor_busqueda
endif
thisform.list1.rowsourcetype=2
thisform.list1.rowsource = 'cursor_busqueda'
thisform.list1.ListIndex=1
thisform.list1.BoundColumn=1
impresora='"'+ALLTRIM(thisform.list1.value)+'"'
SET DEVICE TO PRINTER
SET PRINTER ON
SET PRINTER TO NAME &impresora
**********************************************
Antes de hacer el correspondiente REPORT FORM... llamo al metodo
"setear_impresora".
Esto me genera 2 problemas:
1) Siempre imprime en la impresora predeterminada de Windows, no en la que
se establecio con el comando SET PRINTER TO...
2) No imprime todos los items de la factura, solo el primero. Si no invoco
el metodo "setear_impresora" se imprimen todos los detalles (obviamente en la
impresora por defecto de Windows).
Alguien puede ayudarme con esto?. Ya no se que probar.
Gracias
Leer las respuestas