Clarion - Enter para grabar

 
Vista:

Enter para grabar

Publicado por Marco (4 intervenciones) el 06/11/2019 13:14:22
Buenas, como puedo hacer para que al presionar la tecla enter en cualquier parte de la ventana, me grabe el registro sin necesidad de ir pasando campo por campo?
Estoy utilizando C10
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
sin imagen de perfil
Val: 223
Oro
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Enter para grabar

Publicado por Marcelo Madelón (144 intervenciones) el 07/11/2019 11:37:40
Marco

No entiendo muy bien que es lo que necesitas hacer.

Pero si es un ingreso de un registro nuevo tenes que tener en cuenta que al primer enter que des corresponde
hacer un INSERT y en los restantes un UPDATE.
Ahora, si queres que al dar el primer enter salga de la ficha grabando los datos podes usar este código

POST(EVENT:ACCEPTED,?Ok)

Esto te manda al botón OK y lo da por aceptado o presionado automáticamente.

POST(EVENT:ACCEPTED,?TU_BOTON)

!!!! en TU_BOTON puede ser cualquier botón que tengas en tu ficha.
!!!! Puede ser por ejemplo: ?Cancel

Avisa si te sirvió.

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

Enter para grabar

Publicado por Marco (4 intervenciones) el 07/11/2019 12:31:02
Hola Marcelo, gracias por la respuesta:

1
2
3
if keycode() = EnterKey
    POST(EVENT:ACCEPTED,?Ok)
end

esto lo puse en el window manager \ takeevent ya que la idea es que en cualquier parte de la ventana al presionar "ENTER" ejecute el boton grabar.

Pero con este código le doy ENTER y queda colgado.
Que podria ser?
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
sin imagen de perfil
Val: 223
Oro
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Enter para grabar

Publicado por Marcelo Madelón (144 intervenciones) el 07/11/2019 21:04:52
Te paso un código que me pasó un colega (Fernando Cerini)

Forzar grabación del form
Este código sirve para grabar el form inclusive cuando el usuario lo cancele

1
2
3
4
5
TakeCloseEvent PROCEDURE(),BYTE,VIRTUAL
 
IF loc:condicion
   SELF.CancelAction = Cancel:Save !immediate save (no confirmation)
END
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
sin imagen de perfil
Val: 223
Oro
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Enter para grabar

Publicado por Marcelo Madelón (144 intervenciones) el 07/11/2019 21:06:25
Te paso otro código que te pueden ser útiles

Chequear si se modificó cualquier campo del FORM
En el TakeCompleted ponemos el siguiente código:

1
2
3
IF NOT SELF.Primary.Me.EqualBuffer(SELF.Saved)
! message('Cambio')
END


Chequear si se modificó un campo del FORM
IF CLI:Campo <> history::CLI:Record.Campo
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