No me deja modificar registro


([N4] franpino) #1

A ver si me podéis echar un mano porque llevo un rato y no doy con la solución.
Estoy en un manejador de eventos donde deseo buscar un registro concreto de otra tabla y modificar sus campos si estos han cambiado para ello tengo esto:

-Ver adjunto proceso.jpg

Haciendo debug linea por linea ( ver adjunto interrupcion.JPG) veo que realmente lee el registro detecta la modificación, pero al aceptar el formulario no pasa nada, el registro de la otra tabla sigue igual.

Me estoy perdiendo en algun paso?

Gracias de antemano.




([N3] pacosatu) #2

Hola franpino.

Si quieres hacer cambios en una ficha debes usar el comando “Modificar ficha seleccionada” en lugar de “Leer ficha seleccionada”.

Acostumbra en estos casos a consultar el vAdmin y comprobar que se está creando y cerrando correctamente una Transacción en la tabla afectada.

Saludos
Paco Satué


([N4] franpino) #3

OK muchas gracias no me di cuenta de ese detalle.

Saludos


([N4] franpino) #4

[quote quote=51791]Hola franpino.

Si quieres hacer cambios en una ficha debes usar el comando “Modificar ficha seleccionada” en lugar de “Leer ficha seleccionada”.

Acostumbra en estos casos a consultar el vAdmin y comprobar que se está creando y cerrando correctamente una Transacción en la tabla afectada.

Saludos
Paco Satué[/quote]

He modificado la linea que me recomendastes pero sigue exactamente igual, te adjunto una nueva imagen.

Por otro lado en vAdmin me aparece sólo la trasacción de ACEPTAR, dado que intento modificar el fichero en el manejador de eventos del botón aceptar, mi códido verifica si es necesario modificar o no… antes de la Interface(Aceptar).



([N4] franpino) #5

He sacado mi código del manejador por si ese era el problema y lo he metido en un proceso externo, y sigue sin funcionar.


([N4] J.Carlos) #6

No me cuadra mucho la línea
'Interface:aceptar’donde está puesta.
Yo la quitaría.
Un saludo


([N4] franpino) #7

[quote quote=51798]No me cuadra mucho la línea
‘Interface:aceptar’donde está puesta.
Yo la quitaría.
Un saludo[/quote]

Si, está al final porque ya acabaría el evento ACEPTAR del botón del formulario, de todas maneras lo he probado en un proceso externo donde no hay interface: Aceptar y tampoco modifica el registro.

Gracias por la ayuda


([N3] pacosatu) #8

Hola franpino.

Efectivamente, tienes 2 errores.

  • El comando “Interfaz: Aceptar” sácalo del subproceso “Modificar ficha seleccionada” ya que evitará que esa transacción se complete.
  • Si pasas el código a un proceso externo es buena idea, pero en ese contexto el comando “Interfaz: Aceptar” no funciona.

Saludos
Paco Satué


([N4] franpino) #9

[quote quote=51798]No me cuadra mucho la línea
‘Interface:aceptar’donde está puesta.
Yo la quitaría.
Un saludo[/quote]

Pues al final tenías razón lo he probado y eso era lo que no se completara la trasacción.

[quote quote=51800]Hola franpino.

Efectivamente, tienes 2 errores.

– El comando “Interfaz: Aceptar” sácalo del subproceso “Modificar ficha seleccionada” ya que evitará que esa transacción se complete.
– Si pasas el código a un proceso externo es buena idea, pero en ese contexto el comando “Interfaz: Aceptar” no funciona.

Saludos
Paco Satué[/quote]

Efectivamente, teníais razón, no sabía que esa instrucción me afectaría, cada día se aprende algo nuevo en velneo.

GRACIAS A LOS DOS.


([N3] pacosatu) #10

Hola franpino.

Vuelve al manejador y pon:

Cargar lista(AGE_EVE....
Seleccionar ficha por posicion 1
If (#NAME = NUMFAC)
  Modificar ficha seleccionada
    Modificar campo (...
    ....
  Rem ( Saca el Interfaz Aceptar fuera de la transacción
  Modificar variable global
  Rem ( En este punto se confirma la transacción de AGE_EVE y la del formulario si es necesario)
  Interfaz: Aceptar

Pruébalo
Saludos
Paco Satué