FoxPro/Visual FoxPro - Problemas Reporte - Grid

 
Vista:

Problemas Reporte - Grid

Publicado por Carlos Argomedo (4 intervenciones) el 06/12/2006 15:06:26
Tengo un form con un grid que hace referencia a un detalle de factura (art., detalle, cant. precio, total), desde allí llamo a un reporte que me muestra estos datos para poder imprimir la factura, hasta aca todo bien, cuando imprimo y cierro el reporte, los de las columnas del grid se modifican, donde estaba la cantidad me pone la fecha, y asi sucesivamente. Como puedo arreglar esto?. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas Reporte - Grid

Publicado por Antonio R. Moquete Mejia (207 intervenciones) el 06/12/2006 15:47:57
Saludos,

Lo que esta pasando es que estas perdiendo el (ControlSource) de cada columna del grid.

Mira carlos lo que tienes que hacer es lo siguiente:

Despues que imprimas recrea cada columna del grid. asi:

ThisForm.grid1.Column1.ControlSource = 'Tabla.art'
ThisForm.grid1.Column2.ControlSource = 'Tabla.detalle'
ThisForm.grid1.Column3.ControlSource = 'Tabla.cant'
ThisForm.grid1.Column4.ControlSource = 'Tabla.precio'
ThisForm.grid1.Column5.ControlSource = 'Tabla.total'

ThisForm.grid1.recordsource='Tabla'
ThisForm.grid1.recordsourcetype=0
Thisform.Refresh()

Hasta ahora solo se quedan en el TEXT1 de cada columna, pero se pierden en el controsource a nivel de columnas, cuando selecionas otra tabla para imprimir, claro utilizando los campos de esa tabla del detalle, pero para que no se te complique solo ponle eso y ya esta.

Eso es como dibujar de nuevo el grid.


Att.
Antonio R. Moquete Mejia
Santo Domingo Rep. Dom. (El mejor pais del mundo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Reporte - Grid

Publicado por Antonio R. Moquete Mejia (207 intervenciones) el 06/12/2006 15:47:57
Saludos,

Lo que esta pasando es que estas perdiendo el (ControlSource) de cada columna del grid.

Mira carlos lo que tienes que hacer es lo siguiente:

Despues que imprimas recrea cada columna del grid. asi:

ThisForm.grid1.Column1.ControlSource = 'Tabla.art'
ThisForm.grid1.Column2.ControlSource = 'Tabla.detalle'
ThisForm.grid1.Column3.ControlSource = 'Tabla.cant'
ThisForm.grid1.Column4.ControlSource = 'Tabla.precio'
ThisForm.grid1.Column5.ControlSource = 'Tabla.total'

ThisForm.grid1.recordsource='Tabla'
ThisForm.grid1.recordsourcetype=0
Thisform.Refresh()

Hasta ahora solo se quedan en el TEXT1 de cada columna, pero se pierden en el controsource a nivel de columnas, cuando selecionas otra tabla para imprimir, claro utilizando los campos de esa tabla del detalle, pero para que no se te complique solo ponle eso y ya esta.

Eso es como dibujar de nuevo el grid.

Att.
Antonio R. Moquete Mejia
Santo Domingo Rep. Dom. (El mejor pais del mundo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Reporte - Grid

Publicado por Antonio R. Moquete Mejia (207 intervenciones) el 06/12/2006 15:47:57
Saludos,

Lo que esta pasando es que estas perdiendo el (ControlSource) de cada columna del grid.

Mira carlos lo que tienes que hacer es lo siguiente:

Despues que imprimas recrea cada columna del grid. asi:

ThisForm.grid1.Column1.ControlSource = 'Tabla.art'
ThisForm.grid1.Column2.ControlSource = 'Tabla.detalle'
ThisForm.grid1.Column3.ControlSource = 'Tabla.cant'
ThisForm.grid1.Column4.ControlSource = 'Tabla.precio'
ThisForm.grid1.Column5.ControlSource = 'Tabla.total'

ThisForm.grid1.recordsource='Tabla'
ThisForm.grid1.recordsourcetype=0
Thisform.Refresh()

Hasta ahora solo se quedan en el TEXT1 de cada columna, pero se pierden en el controsource a nivel de columnas, cuando selecionas otra tabla para imprimir, claro utilizando los campos de esa tabla del detalle, pero para que no se te complique solo ponle eso y ya esta.

Eso es como dibujar de nuevo el grid.


Att.
Atonio R. Moquete Mejia
Santo Domingo Rep. Dom. (El mejor pais del mundo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Problemas Reporte - Grid

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/12/2006 16:49:11
No seria mejor solo realizar un
ThisForm.Refresh()

:-|
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Problemas Reporte - Grid

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/12/2006 16:48:17
No seria mejor cerrar tu form despues de la impresion de la factura ..

Cuestion de diseño
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Reporte - Grid

Publicado por Carlos Argomedo (4 intervenciones) el 12/12/2006 13:07:44
Viendo en distintos foros, manuales y demás descubri que esto es un problema de los grid de fox, que pierden el controlsource cuando le quitamos el enfoque, por ej. que tengamos un grid en un form. principal y llamo a otro secundario don de uso tablas, al cerrar este y volver al principal, el grid se reemplazaría por otra tabla o las columnas se desordenarían, en la red he visto varias soluciones para tratar este problema, aquí les paso una de ellas:

http://www.portalfox.com/index.php?name=Sections&req=viewarticle&artid=69&page=1

Muchas gracias.

Carlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Problemas Reporte - Grid

Publicado por Ernesto Hernandez (4623 intervenciones) el 12/12/2006 17:05:50
La razón por la que esto ocurre es que cada vez que se ejecuta una sentencia SQL en VFP, el cursor destino existente se cierra, se elimina y se recrea. Como consecuencia, los datos del cursor se pierden y el grid pierde su enlace.

Compañero eso era en la version 8 ademas de solo era una manera segura de hacer un select.


En la Version8 ya no existe ese problema

:-|

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Reporte - Grid

Publicado por monillo (43 intervenciones) el 14/12/2006 19:23:54
Amigo, yo trabajo tanto como con grid con su cursor, como tambien con consultas sql ...
A mi no me sucede nada, cada forms tiene su entorno y no tiene nada que ver que llames a un reports o a otro forms.
Fijate si tenes bien definido el control source, tanto en columnas como en campos en la grid.
Al volver hace un thisform.refresh() o para ser mas especifico thisform.grid1.refresh().
Cualquier cosa te envio algun ejemplo.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Reporte - Grid

Publicado por Carlos Argomedo (4 intervenciones) el 15/12/2006 14:38:28
Ernesto:

Viendo uno que otro foro descubri que es un error documentado de fox

http://www.portalfox.com/index.php?name=Sections&req=viewarticle&artid=69&page=1

cosa que ha sido reparada en las versiones posteriores a la 6.0
como también una accesibilidades que permiten nuevas versiones
como saber donde hay un error cuando compilar y saber en que lugar esta.
Cosa que en las versiones 6.0 para abajo no especifica te dice que existe un error de compilación, se cierra y no dice en que formulario ni linea del error.
Se han hecho aplicaciones como whichone.prg que estan disponibles en google para solucionar estos inconvenientes.

Solucione el problema citado con la respuesta de Antonio R. Moquete Mejia recuperando el controlsource de cada columna del grid. Gracias a todos por responder. A su disposición.

Carlos Argomedo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar