Buenas tardes:
Llevo una semana pegándome con esto y ya lo tengo funcionando casi bien... es lioso, pero se puede conseguir:
Creas una acción que: Primero ejecute un proceso sin origen que de la ficha de alta y la añada a la salida. Segundo objeto a disparar, el formulario.
Con esto consigues que el formulario se abra "no modal". A parte de esto, tendrás que controlar (con una variable local del formulario, p. ej.) si el formulario está abierto desde la acción que realiza el alta o desde otro sitio, ya que necesitarás 2 botones de cancelar, uno para cancelar modificaciones y otro para borrar la ficha si se está cancelando el alta (ya que la acción la graba antes de mostrar el formulario y si no se borra al cancelar, se queda grabada).
Hasta aqui, fácil: Problema... el refresco de la rejilla. Al dar de alta registros de esta forma, si tienes abierta una rejilla de la tabla en cuestión, la lista que muestra NO SE REFRESCA... y ahora viene cuando la matan. ¿Cómo conseguir esto?.
La única forma que he visto de conseguir esto, aunque espero que las haya más fáciles (y que velneo ponga el check de modal o no en los formularios, cosa que nos evitaría todo este lio), es la siguiente:
- La rejilla se pega en un formulario sin origen. (Es decir, ya no se abre a pantalla completa).
- En lugar de poner toolbar a la rejilla, añades los botones al formulario sin origen.
- En estos botones, si disparas la acción y ejecutas el refresco (con interfaz: recalcula contro) no sirve, ya que el refresco se dispara antes de la apertura del formulario y no refresca bien, ya que todavia no existe la ficha.
- Para refrescar bien las altas en la rejilla: Crear un evento en el formulario que primero dispare la acción que realiza el alta y retorna el formulario y que luego refresque la rejilla.
De esta forma se refresca bien el alta (para las modificaciones no es necesario, parece que se refrescan bien los cambios ya que la ficha ya existe)... la única pega que no he podido resolver todavía es que, si se cancela el alta y por lo tanto se borra la ficha creada, queda una fila en blanco en la rejilla. Sigo investigando a ver si consigo solucionar esto.
En fin, un lio que se evitaría por completo si Velneo permitiese abrir los formularios de forma no modal, como en la antigua v6.
Yo estoy montando todo este lio porque estoy desarrollando una aplicación que se ejecutará en monitores de 25 pulgadas a 1920*1080 y queda un poco cutre abrir un formulario modal a 1024 en el centro de semejante pantalla.
Un saludo,
Fran
EfeUno Consultores de Gestión y Software, S.L.
www.efeuno.org