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

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

Titulo:local

Solución a pulga de reportes VFP9 en Windows 7

Autor:Eduardo Ureña (ursolcr@gmail.com)
Lenguaje:FoxPro/Visual FoxPro
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.

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 ****************************************

Escuelas de especialización tecnológica