GeneXus - Cancelar cierre transacción

   
Vista:

Cancelar cierre transacción

Publicado por jaed (36 intervenciones) el 03/02/2008 12:02:08
Hola amigos

Lo que quiero consiste en que cuando se haga click en el botón cerrar pueda presentar una pantalla pidiendo confirmación del cierre. Si no se confirma que no cierre.
Lo quiero utilizar para no cerrar por descuido cuando haya datos sin actualizar.

Trabajo con Genexus 9 y .NET.

saludos
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:Cancelar cierre transacción

Publicado por Leandro (146 intervenciones) el 04/02/2008 12:23:28
No se si podes Deshabilitar el evento Cancel en una Trn, se que no podes programarlo.
Podrías asignar el Evento 'Salir' al boton, el evento Cancel no asignarlo a ningun botón, y hacer algo asi..

Event 'Salir'
confirm('¿Salir?, N')
If confirmed()
Return
endif
EndEvent

Exitos. Si averiguas algo mas, agregalo por favor.
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:Cancelar cierre transacción

Publicado por jaed (36 intervenciones) el 04/02/2008 14:39:44
En principio me parecía una solución válida pero hay algo que falla ya que antes de llegar a la línea confirm hace validaciones aunque no haya datos en el form, y me indica que no son correctos los valores introducidos en los campos Primary Key.

saludos
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:Cancelar cierre transacción

Publicado por jaed (36 intervenciones) el 04/02/2008 16:12:09
Leandro

He comprobado que lo que indicabas funciona siempre y cuando en el primer nivel la clave única está compuesta por un solo atributo, si son dos parece que antes de entrar en el evento Exit intenta validar el primer atributo key.

saludos
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:Cancelar cierre transacción

Publicado por Luis (82 intervenciones) el 05/02/2008 14:22:09
Podrias utlizar un wkp en vez de transaccion, con procedimientos que te actualizen la base, eso deberia funcionar para lo que nececitas. Tendiras que hacer las integridades referenciales a mano, pero sirve. Recorda que si trabajas en win, y tenes subfile cuando pasas a este te hace el commit de la cabezera.

Otra cosa que podes hacer es pasarle un parametro a la transaccion, una bandera, por ejemplo &cierra

En el evento after trn, podes poner un Confirm
Confirm('Desea salir de la trn',N)
If Confirmed()
&cierra = 'S'
Else
&cierra = 'N'
EndIf

y en el wkp anterior a la trn, cuando haces el call podes hacer un do while
&cierra = 'N'
Do While &cierra = 'S'
Call(TTrn,&att,&attN,&cierra,&Mode)
EndIf

De esta forma cuando se te cierre podes llamarla de nuevo. Creo que deberia funcionar. Mucha Suerte. Saludos!
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:Cancelar cierre transacción

Publicado por luis (82 intervenciones) el 05/02/2008 14:24:24
PD: La trn la tenes que llamar primero en &Mode = 'INS' y despues en &mode = 'UPD' si no te va a dar que ya existe el registro.
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:Cancelar cierre transacción

Publicado por jaed (36 intervenciones) el 05/02/2008 15:53:17
Muchas gracias, lo voy a probar y ya te indicaré algo.

Saludos
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