Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Código de FoxPro/Visual FoxPro - Solución a pulga de reportes VFP9 en Windows 7

Solución a pulga de reportes VFP9 en Windows 7gráfica de visualizaciones


FoxPro/Visual FoxPro

estrellaestrellaestrellaestrellaestrella(4)
Publicado el 25 de Octubre del 2011 por Eduardo
5.517 visualizaciones desde el 25 de Octubre del 2011. Una media de 35 por semana
Básicamente se encuentra al momento de querer configurar una impresora distinta en un reporte.
Cuando se abre el form y se desea modificar la impresora, simplemente no nos deja. Tomará siempre la impresora por defecto. Esto es un contratiempo principalmente cuando se desarrolla programas en donde se utilizan impresoras muy específicas, como de puntos de ventas o de impresoras de códigos de barra que al momento del desarrollo o modificación del reporte no están disponibles.

Cuál fue mi solución?
Hice dos pequeños programas. El primero toma el encabezado del reporte ANTES DE QUERER MODIFICARLO y lo guarda en una tablita temporal, luego que haya realizado las modificaciones en el Form, corro el segundo programita, que toma esa tablita temporal, lee el contenido y lo deposita de nuevo en el encabezado del reporte.
Tanto el archivo de trabajo (Encabezado_Reporte.Dbf) como los archivos FRX deben estar en la carpeta en donde se ejecutan los prg.

Nota: No he encontrado ninguna opción en VFP9 que me permita restaurar el botón para seleccionar la impresora al momento de crear/modificar un reporte, si alguien en la comunidad conoce cómo hacerlo, pues sería mucho mejor para no complicarse tanto corriendo estos dos programas.

Versión 1
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 25 de Octubre del 2011gráfica de visualizaciones de la versión: Versión 1
5.518 visualizaciones desde el 25 de Octubre del 2011. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella
Primer programa: LeeEncabezadoReporte.Prg ************* * Este programa lee y guarda en el archivo Encabezado_Reporte los valores del encabezado * del reporte seleccionado antes de ser modificado por el generador de reportes de VFP bajo Win7 * Esta información deberá ser restaurada con el programa GuardaEncabezadoReporte una vez * que se hagan los cambios necesarios. CLOSE DATABASES USE GETFILE("FRX") IN 0 ALIAS Informe SELECT Informe Largo=AFIELDS(Campos) COPY STRUCTURE TO Encabezado_Reporte USE Encabezado_Reporte IN 0 ALIAS Valores SELECT Valores APPEND BLANK FOR I=1 TO ALEN(Campos,1) Campo1="Informe."+Campos(I,1) Campo2=FIELD(I,1) REPLACE &Campo2 WITH &Campo1 NEXT I close data ***************************************************** Segundo Programa:GuardaEncabezadoReporte **************************** * Este programa guardará nuevamente el encabezado del reporte seleccionado * una vez modificado desde el generador de reportes. * La razón: Win7 no permite configurar impresora y se perdería la configuración * original para el reporte. * Antes de ejecutar éste programa, se debió guardar la información del encabezado * en el archivo encabezado_reporte con el programa LeeEncabezadoReporte.prg CLOSE DATABASES USE Encabezado_Reporte IN 0 ALIAS Valores USE GETFILE("FRX") IN 0 ALIAS Informe &&Informe en el que se guardarán los datos... SELECT Valores Largo=AFIELDS(Campos) Si="" ACCEPT "Totalmente Seguro? (Sí=999)" TO Si IF Si="999" &&Para evitar cualquier error por digitación involuntaria.... SELECT Informe GO TOP &&Primer Registro.. FOR I=1 TO ALEN(Campos,1) Campo1="Valores."+Campos(I,1) Campo2=FIELD(I,1) REPLACE &Campo2 WITH &Campo1 NEXT I ENDIF CLOSE DATA ****************************************

Comentarios sobre la versión: Versión 1 (4)

25/12/2012Javeir Vitriago
estrellaestrellaestrellaestrellaestrella
debes usar antes de ejecutar la instruccion Report Form XXXXXX la siguiente instruccion:
=Sys(1037)
podras seleccionar una impresora diferente a la predeterminada y tu seleccion sera tomada para el reporte
04/01/2013carlos sanchez
estrellaestrellaestrellaestrellaestrella
para configurar varias impresoras solo se tiene que configurar la pagina
y le indicas con que impresora trabajara el reporte
18/03/2013Eduardo Ureña
estrellaestrellaestrellaestrellaestrella
Gracias. Voy a probar lo que me señalan :-)
20/06/2013Gonzalo
estrellaestrellaestrellaestrellaestrella
Te hago una consulta que me llamo la atencion, ya que hace mucho q no trabajo con foxpro, y justamente estoy necesitando volver a verlo de vuelta, porque motivo cierras la base de datos antes de empezar a usar las tablas de la misma?

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración del curso
Comentarios