Hola Walter:

El código está mal, ya que no controla ningún tipo de error. Por ejemplo,
TABLEUPDATE devuelve si pudo actualizar las tablas (.T. o .F.) y no lo
estás consultando, estás asumiendo de que siempre puede.

Por otro lado, también estás asumiendo de que la transacción va a ir
siempre bien, y no contemplás de que pueda ir mal.

Finalmente, falta la rutina de control de errores, aunque asumo que como no
veo Try/Catch estarás usando al antiguo ON ERROR.


Hay 2 capítulos de la ayuda de VFP que te pueden servir (para copiar/pegar
en la solapa "Indice"):

*Managing Updates Using Transactions*

*Updating Data Using Transactions*


Saludos.-




El 22 de junio de 2015, 19:29, Walter Comito <[email protected]> escribió:

> Les paso el código
>
>
>
> Este código esta en un botón que dice guardar
>
>
>
> BEGIN TRANSACTION
>
>
>
>      descripcion_articulo = ALLTRIM(mostrador.nombre)+' / '+ALLTRIM(
> MOSTRADOR.MARCA)+' / '+;
>
>      ALLTRIM(MOSTRADOR.MODELO)+' / '+vm_estado
>
>
>
>      INSERT INTO ESTADIS (CREDITO,idarticulo,fecha,ARTICULO,DESCRIP,
> CANTIDAD,IMPTOTAL,DEPOSITO,COSTO,;
>
>      MARCAR,UTILBR,ESTADO) VALUES ;
>
>      (ACT_CREDITO,articulo_buscado,DATE(),MOSTRADOR.ID,
> descripcion_articulo,1,;
>
>      thisform.pgf.page2.CNT.txtimporte.Value,BUSCADOR.DEPOSITO,VM_COSTO, ;
>
>      IIF(VM_COSTO>0,(thisform.pgf.page2.CNT.txtimporte.Value/VM_COSTO),0
> ),;
>
>      (thisform.pgf.page2.CNT.txtimporte.Value-vm_costo),VM_ESTADO)
>
>      SELECT ESTADIS
>
>      TABLEUPDATE(.t.,.T.)
>
>
>
>
>
>      INSERT INTO inventa (idarticulo,fecha,OPERACION,CREDITO,CLIENTE,
> articulo,descri,DEPOSITO,;
>
>      CANTIDAD,usuario,ESTADO) VALUES ;
>
>      (articulo_buscado,DATE(),"VENTA",ACT_CREDITO,"Venta: "+thisform.pgf.
> page2.txtnombre.value,;
>
>      mostrador.id,descripcion_articulo,buscador.deposito,-1,nom_usuario,
> VM_ESTADO)
>
>      SELECT inventa
>
>      TABLEUPDATE(.t.,.T.)
>
>
>
>
>
>      *** ELIMINO EL CODIGO CARGADO DE LA BASE ARTICULOS
>
>      DELETE FROM ARTICULOS WHERE IDCODIGO = articulo_buscado
>
>      SELECT ARTICULOS
>
>      TABLEUPDATE(.t.,.T.)
>
>
>
> END TRANSACTION
>
>
>
> No tengo tablas corruptas o registros que desaparezcan
>
>
>
> La instalacion es un windows 2003 server, esta instalado en una carpeta
> donde todos los usuarios acceden a ella.
>
> Lo hacen via red o via escritoroi remoto.
>
>
>
> No vi nada raro, todos los otros procesos laburan normalmente, es solo en
> esta parte de articulos, inventario y compras donde me hace este problema
>
>
>
>
>
> Gracias.
>
>
>
> *Walter Cómito*
>
>  Analista de Sistemas
>
>  MP 0397 C.P.C.I.P.C.
>
>
>
> *›*  *[email protected] <[email protected]>*
>
>          *[email protected] <[email protected]>*
>
>
>
> *'*   *+54 351 494.4667 <%2B54%20351%20494.4667>*
>
> *           153.292.707*
>
>
>
> *þ* *www.softram.com.ar <http://www.softram.com.ar/>*
>
>
>
> Q  Si no es necesario, no imprima este correo.
>
> Todos somos responsables por el cuidado del medio ambiente.
>
>
>
>
>
> *NOTA DE CONFIDENCIALIDAD*
> Este mensaje (y sus anexos) es confidencial y puede contener información
> de propiedad
> exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este
> mensaje por error,
> por favor comuníquelo inmediatamente a *walter.comito
> <[email protected]>**@gmail.com <http://gmail.com/>* y tenga la
> amabilidad
> de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a
> ninguna persona.
>
> Muchas Gracias.
>
>
>
> *De:* [email protected] [mailto:[email protected]] *En nombre de *Fernando D.
> Bozzo
> *Enviado el:* lunes, 22 de junio de 2015 13:47
> *Para:* GUFA List Member
> *Asunto:* [GUFA] TABLEUPDATE()
>
>
>
> Hola Walter:
>
> Es un poco difícil decir lo que puede ser sin ver el código, ya que lo
> primero que a cualquiera se le ocurriría es lo obvio, o sea, que haya
> alguna condición que a veces se cumple y a veces no, y que haga que grabe o
> no.
>
> Fuera de la obviedad,
> ¿tenés algún otro problema, como corrupción de tablas, registros que
> desaparecen, etc?
>
> ¿Cómo es la instalación que tenés montada? ¿Dónde está el EXE (o EXEs),
> dónde el usuario y qué tipo de Sistema Operativo usás (en cliente y en
> servidor)?
>
>
>
> Saludos.-
>
>
>
>
>
> El 22 de junio de 2015, 18:31, Walter Comito <[email protected]>
> escribió:
>
> Amigos tengo un problema con el tableupdate en una transacción, a veces
> guarda y a veces no.
>
> Ya no se de que forma ver este tema y tratar de solucionarlo.
>
>
>
> Tengo dentro de una transacción un tableupdate(.t.,.t.) on un bufer 5 para
> esta tabla
>
>
>
> Si alguien me tira una idea se lo agradecería.
>
>
>
> Gracias.
>
>
>
> *Walter Cómito*
>
>  Analista de Sistemas
>
>  MP 0397 C.P.C.I.P.C.
>
>
>
> *›*  *[email protected] <[email protected]>*
>
>          *[email protected] <[email protected]>*
>
>
>
> *'*   *+54 351 494.4667 <%2B54%20351%20494.4667>*
>
> *           153.292.707*
>
>
>
> *þ* *www.softram.com.ar <http://www.softram.com.ar/>*
>
>
>
> Q  Si no es necesario, no imprima este correo.
>
> Todos somos responsables por el cuidado del medio ambiente.
>
>
>
>
>
> *NOTA DE CONFIDENCIALIDAD*
> Este mensaje (y sus anexos) es confidencial y puede contener información
> de propiedad
> exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este
> mensaje por error,
> por favor comuníquelo inmediatamente a *walter.comito
> <[email protected]>**@gmail.com <http://gmail.com/>* y tenga la
> amabilidad
> de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a
> ninguna persona.
>
> Muchas Gracias.
>
>
> ------------------------------
>
> [image: Avast logo] <https://www.avast.com/antivirus>
>
> El software de antivirus Avast ha analizado este correo electrónico en
> busca de virus.
> www.avast.com <https://www.avast.com/antivirus>
>
>
>
>
>

Responder a