# Error al modificar Ficha con un "Modificar campo" y Actualización en tabla

**URL:** <https://foros.velneo.com/t/error-al-modificar-ficha-con-un-modificar-campo-y-actualizacion-en-tabla/10171>\
**Category:** Velneo\
**Created:** [31 Mayo, 2019 11:47 UTC](https://foros.velneo.com/t/error-al-modificar-ficha-con-un-modificar-campo-y-actualizacion-en-tabla/10171 "2019-05-31T11:47:17Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [3 Junio, 2019 16:39 UTC](https://foros.velneo.com/t/error-al-modificar-ficha-con-un-modificar-campo-y-actualizacion-en-tabla/10171/6 "2019-06-03T16:39:40Z")

</div>

Hola pnogueira.

Bueno, tampoco es que esté muy clara la explicación. Ten en cuenta que yo no uso VERP y así en frio es imposible determinar el error.

Pero estás de suerte. Tenía pendiente revisar las novedades de la 25 y entre ellas estaba instalar VERP 25 y probar el interface de movilidad.

Yendo a tu problema, está clarísimo lo que pasa y acabas de toparte con algo gordo.  
Veamos:

- Tenemos el **formulario VTA\_ALB\_G** (Albarán de Venta) con la **tabla VTA\_ALB\_G** (Albaranes de Venta).
- Ejecutamos el **manejador VTA\_ALB\_FAC** para facturar el Albarán generando un registro en la **tabla VTA\_FAC\_G** (Facturas de Venta).
- Con el código **original de la plantilla VERP** todo funciona correctamente.
- Creamos una Actualización en la tabla VTA\_ALB\_G sobre el campo enlazado VTA\_FAC de la tabla VTA\_FAC\_G para acumular el valor del campo POR (Portes).
- Con esto se produce un **Error de Modificación de Ficha** con el siguiente valor de Retorno:  
`Transacción: 65, Estado: Abortada, Título: Modificación ficha VTA_ALB_G: 3, Inicio: 2019-06-03T17:22:50, Fin: 2019-06-03T17:22:54, Operaciones: 0, Retorno: Deshecha por encontrar ficha ocupada`

¿Cuál es el problema? Sigamos la ejecución del código con el “estupendo y maravilloso” depurador de Velneo.

En el Manejador VTA\_ALB\_FAC tenemos:

- un primer comando Interfaz: Guardar la ficha en alta o modificación  
`Transacción: 63, Estado: Finalizada OK, Título: Modificación ficha VTA_ALB_G: 3, Inicio: 2019-06-03T17:21:44, Fin: 2019-06-03T17:21:44, Operaciones: 1, Retorno: Ok`
- un comando Alta de ficha (vta\_fac) que crea una Transacción nueva que **quedará abierta y bloqueando** la Ficha nueva de la tabla VTA\_FAC\_G.  
`Transacción 64, ... Título: Facturar albarán de venta`
- un segundo comando Interfaz: Guardar la ficha en alta o modificación que guardará en el campo VTA\_FAC el valor del ID de la nueva Factura creada. Además ejecutará la Actualización sobre la Factura recien creada que todavía sigue bloqueada por la Transacción 64. Por lo tanto, después de 4 segundos se devuelve el error:  
`Transacción: 65, Estado: Abortada, Título: Modificación ficha VTA_ALB_G: 3, Inicio: 2019-06-03T17:22:50, Fin: 2019-06-03T17:22:54, Operaciones: 0, Retorno: Deshecha por encontrar ficha ocupada`  
Consecuencia, no se guarda el ID de la Factura en el campo VTA\_FAC del Albarán.
- Una vez termina el Manejador, la Transacción 64 se termina con OK y aquí no ha pasado nada. Pues NO, el Albarán queda como NO Facturado. Un desastre, quedando la Base de Datos con la Integridad rota.

¿Por qué se produce el problema?  
El comando **Interfaz: Guardar la ficha en alta o modificación** genera Transacción independiente y no se integra en el proceso del Manejador VTA\_ALB\_FAC como sí lo hace el comando Alta de ficha. Por esta razón tenemos 3 Transacciones independientes, de las cuales 2 (nº 64 y 65) chocan entre sí.

¿Cuál es la Solución?  
Crea un **Proceso que dé de Alta la Factura y devuelva la Ficha**. Con el comando Ejecutar proceso (que recibe la Ficha del Albarán en memoria) la Transacción del Alta de la factura será independiente y desaparece el problema.

Recuerda que VERP es una Plantilla y hay que mirar con lupa todo el código para adaptarlo a nuestros requerimientos.

Prueba la solución que te propongo y ya nos cuentas.  
Si funciona bien, lo pasas a Soporte para que lo incorporen a la nueva Versión ya que es evidente que ese código fallará en cuanto otro añada Actualizaciones como tú has hecho.

Saludos  
Paco Satué

---

_[View the full topic](https://foros.velneo.com/t/error-al-modificar-ficha-con-un-modificar-campo-y-actualizacion-en-tabla/10171)._
