FoxPro/Visual FoxPro - Datos grabados que no se graban

 
Vista:

Datos grabados que no se graban

Publicado por El Horaco (2 intervenciones) el 26/11/2006 22:17:59
Hice un sistema completo de gestion administrativa para redes y tengo el siguiente problema. Estoy usando VFP6 con SP5. Y trabajo don DBC-DBFs.

Tengo un formulario de carga de facturas, con una cabecera y una grilla de items, etc.. Lo usual en Facturas. El problema se da al grabar.

Abro una transacción y grabo en diferentes tablas, cabecera, items, stock, cuenta corriente, etc... cada una con su tableupdate() y chequeando que devuelvan .T., todo con buffer optimista.

El tema es que, aleatoriamente, todo me devuelve .T., hago el END TRANSACTION, pero alguna tabla no graba fisicamente la data al disco. Del buffer la usa pues incluso sale en un reporte pero luego al consultar la factura desde otro formulario encuentro que no se grabó la cabecera o los items o la cta cte o los mov de stock. Sólo una tabla falla. Esto sucede esporádicamente y nunca lo pude reproducir en desarrollo. Traté de todas las formas posibles y no hubo caso.

A alguien le pasó? Necesito ayuda con este tema.
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:Datos grabados que no se graban

Publicado por Plinio (7841 intervenciones) el 27/11/2006 01:34:48
Lo primero que debes de hacer es que si alguna devuelve .F. en un tableupdate debe dar un ROLLBACK a la transaccion para evitar que se grabe en algunas y otras no.

Entonces el siguiente paso es ver por que no graba en esa tabla.
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:Datos grabados que no se graban

Publicado por El Horaco (2 intervenciones) el 07/12/2006 22:55:27
Gracias Plinio por la respuesta, pero...

El caso es que ningun tableupdate() me devuelve .F. .
Es decir que no salta ningún error, por lo que no puedo saber que pasa, comprendes?
Toda la transaccion se completa OK. Sin embargo luego descubro que alguna tabla que actualicé con tableupdate() y me devolvió .T., no bajó los registros al disco. Los tenía en el buffer porque salen en un reporte, pero no los graba. Misterios de la informática.!!

Sería bueno que si a alguien le pasó esto y descubrió por qué, lo comente

Muchas gracias.
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