Uso de eventos en formulario en altas


([N4] eic) #1

Hola.

En un formulario sin origen, tengo puesto un botón "Alta de Registro", que ejecuta una acción con el comando "Formulario: alta de ficha", que muestra un formulario de alta. También se muestra un objeto, que contiene una búsqueda de registros, y me gustaría que, al dar de alta el registro, se mostrara (si procede) en la búsqueda.

En el botón utilizo una acción porque así me aparece un formulario de alta, que puedo cancelar fácilmente si el usuario se arrepiente. Pero no sé cómo actualizar la búsqueda: si utilizo la señal "Ratón: botón soltado" para lanzar un evento que recalcule el objeto búsqueda, no me funciona (todavía no se hizo el alta, y por eso no lo muestra).

Podría utilizar un evento en el botón (que me permitiría recalcular el control objeto tras el alta), pero entonces no tendría un alta tan cómoda para cancelar como la que utilizo con una acción.

¿Hay alguna solución "estandar" para V7? Antes utilizábamos trucos para manejar la cancelación (p.ej., un botón Cancelar que en realidad era eliminar) y para refrescar la rejilla, pero quizá haya algún modo "nativo" que no consigo ver.

Y sí, ya sé que en la rejilla podría hacer que utilizara el botón Insertar... pero en este caso no puede ser así.

Saludos,

Fran Varona

 


(Jose) #2

Lo unico que se me ocurre que podria funcionar seria un evento a la perdida del foco del boton que da las altas, pero la rejilla solo se actualizaria cuando muevas el foco a otro control del formulario.

saludos, José

 

 


([N4] fgutierrez.velneo) #3

Crea una toolbar para la rejilla en cuestión y asóciasela. En la rejilla pones una acción que haga Formulario: Alta de ficha y dejas como opción .generica (queda en blanco).

De esta forma se encarga la propia rejilla de refrescarse en caso de realizar un alta.

Un saludo.


([N4] eic) #4

Hola.

Muchas gracias por las indicaciones.

Creé la toolbar, y le añadí una acción de "Formulario: alta de ficha". Lo que no sé dónde hacer es lo de "dejas como opción .genérica (queda en blanco)". ¿Dónde lo hago, en la toolbar, en la rejilla? Discúlpame, pero no lo veo.

Gracias,

Fran Varona

 


([N4] fgutierrez.velneo) #5

La acción con el comando Formulario de alta te permite seleccionar un formulario. Si en vez de ello, dejas .generico, funcionará como comentas.

Un saludo.


([N4] eic) #6

Hola.

De acuerdo, ya lo hice... pero creo que no me funciona.

La situación es:

- Formulario sin origen

- Botón que lanza una acción que es un simple Ficha: Formulario de alta, con un formulario.

- Control objeto que contiene una búsqueda y muestra una rejilla. La rejilla tiene una toolbar, con una única acción, que es un "Ficha: Formulario de alta" sin indicar formulario.

Al pulsar el botón, se muestra el formulario de alta. Al aceptarlo, no se muestra en la rejilla.

Saludos,

Fran Varona

 


([N4] rcueto.velneo) #7

Hola:

Para que sea funcional la acción debe tener origen, es decir, debes seleccionar en las propiedades de la acción la tabla de origen y el tipo de origen (lista).

Un saludo.

 

[attachment=4272,448]


([N4] eic) #8

Hola, Rafael.

Muchas gracias por el detalle de la explicación, no sabía que tenía que tener como origen "Lista". Ya lo probé... pero me sigue sin funcionar. No sé qué puede pasar. 

Creo que voy a intentar utilizar en el botón, en vez de una acción, un evento (que me permitirá recalcular el control objeto) que dé de alta por proceso la ficha. Por cierto, ¿cómo se utiliza la instrucción "Alta de ficha en memoria" si quieres que te presente un formulario? ¿Habría que hacer primero el alta (alta en memoria + alta real) y luego capturar la ficha creada con un "cargar lista", y después "Modificar ficha con formulario"?

Gracias,

Fran Varona

 


([N4] rcueto.velneo) #9

Hola, Fran:

Tal y como te he comentando debería funcionar pues así lo he implementado y comprobado que funciona. Una pregunta, cuando hablas de disparar la acción que presenta el formulario de altas, ¿estás hablando del comando de la toolbar embebida en la rejilla o se trata del botón que mencionas antes de la toolbar? Yo estoy hablando de disparar el formulario de alta desde la toolbar embebida en la rejilla.

Un saludo.


([N4] eic) #10

Hola, Rafael.

Me refiero al botón externo a la rejilla. De hecho, mi cuestión era si podía "refrescar" la rejilla tras hacer un alta desde ese botón externo. Intentaba no usar un evento en el botón, para poder ejecutar el comando "Ficha: formulario de alta" y así poder cancelar el alta fácilmente. 

Lo que tú comentas (usar el botón en la toolbar) funciona perfectamente. Lo de poner el formulario en ".Genérico", ¿sirve para que así se utilice el formulario de alta que esté asociado a la rejilla? 

Disculpa la confusión, pero me interesaba utilizar un botón externo, no la toolbar (por la organización que tengo en el formulario). Siento haber alargado el hilo innecesariamente.

Saludos,

Fran Varona

 


([N4] rcueto.velneo) #11

Hola:

Si desde el botón disparas una acción que usa “Formulario: Alta”, podrías crear un evento de pérdida de foco del botón que recalcule la rejilla.

Si quieres que se recalcule al dar de alta la ficha tras pulsar el botón, entonces crea un evento que genere el registro y recalcule la rejilla. Desde el botón dispara ese evento.

Un saludo.


([N1] abraham ovando) #12

Alguien me podría ayudar como hago para que dándose una fecha ésta dé de alta un formulario. por ejemplo si deseo que en tal fecha automáticamente me de de alta un formulario. por favor me podrian ayudar o tan solo denme un tip como hacerlo. ya que soy nuevo en velneo, gracias.