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

Imágen de perfil
Val: 114
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

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


FoxPro/Visual FoxPro

Publicado el 25 de Octubre del 2011 por Eduardo
9.463 visualizaciones desde el 25 de Octubre del 2011
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
9.464 visualizaciones desde el 25 de Octubre del 2011
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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? (=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)

Imágen de perfil
25 de Diciembre del 2012
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
Responder
Imágen de perfil
4 de Enero del 2013
estrellaestrellaestrellaestrellaestrella
para configurar varias impresoras solo se tiene que configurar la pagina
y le indicas con que impresora trabajara el reporte
Responder
Imágen de perfil
18 de Marzo del 2013
estrellaestrellaestrellaestrellaestrella
Gracias. Voy a probar lo que me señalan :-)
Responder
Imágen de perfil
20 de Junio del 2013
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?
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2124