impresion en VF9

jujeneo
12 de Agosto del 2009
hola amigos. comenzado un programa de facturacion en VF9, la verdad que ya lo tengo muy avanzado, mi problema es el siguiente.
mi sistema debe imprimir los informes en un impresora conectada en el Lpt3(tinta), y las facturas en matricial conectada en el lpt1.
el problema esta en las facturas, ya probe con el set printer to Lpt1 y set device to printer, pero estas salen en el impresora de tinta.
las facturas las imprimo haciendo por codigo, con @ say "".
ademas, estas facturas deben salir por triplicado (uso papel continuo de ancho 22.5 alto 15.5), al imprimirse al ultimia, el papel sigue avanzando como si haria un salto de pagina. lo correcto seria que este se quede esperando la siguiente impresión.
bueno espero que me puedan dar una mano, desde ya muchas gracias.

Ivan
12 de Agosto del 2009
Hola jujeneo
Imagino que la impresora predeterminada para windows es la conectada a LPT3(tinta)
Prueba lo siguiente:
Antes de cada impreso deberas hacer que el programa abra el cuadro de selección de impresoras y así poder seleccionar la impresora para cada impreso
Lo relacionado con las facturas por triplicado
Debes crear un tipo de papel personalizado desde las propiedades de la impresora de tinta en el cual debes de colocar las medidas que dices y colocarle un nombre como: PapelMediaCarta, luego de esto, procura realizar las facturas con el diseño de un reporte. Sí la impresora donde se realizan las facturas no va a ser usuada para otros tipos de impresos, entonces predetermina el tamaño del papel al creado anteriormente.
Toda impresora revisa que tipo y tamaño de papel tiene, si es tamaño carta y le envias una orden para imprimir una sola línea, ella corre hasta cumplir con el tamaño de la hoja.-
El tamaño de "PapelMediaCarta" debe aparecer en la selección de tipo de papel y puede ser para cualquier tipo de impresora. Algunas impresoras matricales no dejan crear tipo de papel personalizado como las de tinta.-
Esperando sea de gran ayuda
Prueba y avisame

jujeneo
12 de Agosto del 2009
muchas gracias por su colaboración... :-)

jujeneo
12 de Agosto del 2009
ha, perdon por la tardanza...

manuel duran
12 de Agosto del 2009
si estas imprimiendo con say mejor envialo a un archivo y luego con el comando e dos envialo al puerto que neesitas
type <rchivo> to lpt1 o lpt o com1 o com2

xodrf
12 de Agosto del 2009
Tengan en cuenta que cuando generan un reporte con el comando report form dentro del reporte se graba la impresora predeterminada y por ende el puerto que utiliza que utiliza esta si no lo borran esta queda alli a menos que se seleccione otra mediante PROMPT, por otro lado yo lo imprimo mediante el comando ??? es mucho mas manejable y me da mas prestaciones
SET PRINTER TO LPT1
SET CONSOLE OFF
SET PRINTER ON
SET DEVICE TO PRINTER
??? "IMPRESION DE LINEAS"+CHR(13)+CHR(10)
SET PRINTER TO
SET PRINTER OFF
SET DEVICE TO SCREEN


bajar los manuales de REFERENCIA de la epson para saber que secuencia de escape enviar para cada tipo de letra y los desplazamientos del cabezal entre otros, esta es la mejor manera de hacerlo yo hasta me di el lujo de imprimir grafico sobre una impresora generica!!

Juan Ramos
12 de Agosto del 2009
Mi sugerencia seria usar set device to printer junto con set printer to file

envias la impresion a un archivo y luego con run copy archivo lpt1

osino quieres crear un txt intermedio prueba a ver que impresora tienes por default



jujeneo
12 de Agosto del 2009
hola juan
te comento que estuve viendo todas las soluciones que encontre, pero aun asi sigue saliendo mal.
si quieres te `puedo pasar el codigo que uso para que des una mirada.
cuando se imprime 2 copias anda bien pero cuando son 3, el salto de pagina sigue.
usa una etiqueta para las facturas y el salto sigue.
agradesco tu aporte, y espero me puedas dar una mano.