Impresión de reportes

Primero que todo un saludo muy especial señor experto, y muchas gracias por la ayuda que pueda prestarme.
Mis inquietudes son las siguientes:
1.Como puedo hacer para que un reporte me sirva sin modificarle nada en cualquier tipo de impresora, ya que actualmente estoy haciendo un proyecto donde manejo guías, pero cada que cambio de impresora me toca entrar y ajustarla ha ese tipo de impresora, y esto es muy aburrido.
2. Necesito imprimir un reporte que ocupa sólo media página carta, el cliente quiere que automáticamente apenas termina la primera impresión me imprima una segunda copia, pregunto como puedo enviar dos copias y que una me imprima en la misma hoja e imprima seguida de la otra, y como puedo definir papel que el tamaño sólo sea media carta.
3. Estoy graficando en visual foxpro, para hacerlo estoy utilizando msgraf versión 8 y lo hago con OLE, todo me ha funcionado perfecto, me genera gráficas, el usuario puede seleccionar el tipo de gráfica que quiere, etc. Lo único que no he podido hacer es enviarla a imprimir. Para esto genere una macro para saber como lo hace excel, pero en Visual no me funciono. Trabajando de esta forma, existe alguna instrucción para enviar a imprimir.
Un abrazo y un saludo bien grande

2 Respuestas

Respuesta
1
Si necesitas ampliar la respuesta no hay problema
1.Como puedo hacer para que un reporte me sirva sin modificarle nada en cualquier tipo de impresora, ya que actualmente estoy haciendo un proyecto donde manejo guías, pero cada que cambio de impresora me toca entrar y ajustarla ha ese tipo de impresora, y esto es muy aburrido.
Rta : El archivo contenedor de los reportes(. Frx) es una tabla, la solución que yo emplearía es cambiar el tipo de impresora dentro de esta tabla, toda esa información está contenida en campo memo, tendrías que excluir los archivos del ejecutable, y cuando llames el reporte hacerlo con la ruta o una variable que contenga esta ruta(busca en el primer memo del campo Expr).
Nota en contra: tendrías que conocer todos los tipos de impresora.
En un caso parecido yo pido al usuario me diga desde una pantalla de configuración el tipo de impresora (burbuja, lasser, punto o tinta sólida), pedí prestadas impresoras de cada uno de estos tipos, cree un reporte por cada tipo de impresora, y la llamo dependiendo de la configuración que me dio el usuario, hasta el momento los reportes salen bien, es obvio no salen como uno desea pero fue la solución más práctica
2. Necesito imprimir un reporte que ocupa sólo media página carta, el cliente quiere que automáticamente apenas termina la primera impresión me imprima una segunda copia, pregunto como puedo enviar dos copias y que una me imprima en la misma hoja e imprima seguida de la otra, y como puedo definir papel que el tamaño sólo sea media carta.
Rta : report form reptotal. Frx to printer prompt ** el prompt mustra el cuado de dialogo de la impresora, por lo tanto el usuario lo podria utilizar para indicar el numero de copias o ...
for ncopias = 1 to ncopias
report form reptotal.frx to printer ** le quita el prompt para que no muestre el
**cuadro de dialogo
Endfor
Es un código tonto pero te soluciona el problema de las copias ncopias por defecto seria 2, pero el usuario puede cambiar de opinión
Dependiendo de la impresora se puede definir el tamaño personalizado para una página, si no es así haría en una hoja tamaño carta y ocuparía solo el espacio correspondiente a un tamaño carta
3. Estoy graficando en visual foxpro, para hacerlo estoy utilizando msgraf versión 8 y lo hago con OLE, todo me ha funcionado perfecto, me genera gráficas, el usuario puede seleccionar el tipo de gráfica que quiere, etc. Lo único que no he podido hacer es enviarla a imprimir. Para esto genere una macro para saber como lo hace excel, pero en Visual no me funciono. Trabajando de esta forma, existe alguna instrucción para enviar a imprimir.
Rta : Yo crearía una tabla con un campo general, en este guardaría el gráfico como el usuario lo quiere, creo un reporte agrego el objeto ole, y en las propiedades de este coloco el campo (Campo :tabla. Grph)
Cordial saludo
Jairohamon
Respuesta
1
1.- Los reportes los puedes abrir como si fueran una tabla y dejar en blanco las cabezeras. En www.portalfox.com encontrarás algunos tips.
2.- Debes controlar la impresión por código y mandar las secuencias de escape necesarias para configurar el tamaño de la hoja.
3.- Puedes generar una tabla con un campo general donde incluyas la gráfica generada y después simplemente incluir el campo en el reporte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas