Modificar ficha.


(ame) #1

Buenas tardes,

 

Quiero implementar la opción "Modificar" sobre un registro de una tabla dada. La manera en que deseo que se comporte es la siguiente, y me gustaría que me ayudárais a cómo puedo realizarlo, ya que por más vueltas que le doy, me hago un lío con tantos objetos..., localizadores, rejillas, formularios, disparar objeto, etc.

Al pinchar sobre la opción de menú "Modificar" quiero que me salte un formulario en el que me pide un dato, el código, y además que se disponga de un botón que al pulsarse salte otro formulario en el cual aparecerá una rejilla mostrando todos los registros de la tabla. Al seleccionar un registro de la rejilla, bien haciendo doble clic o bien marcando la fila y pulsando sobre un botón "Aceptar" del formulario, quiero que se copie el código seleccionado de la rejilla al formulario mostrado anteriormente, obviamente a un control "Caja de Texto". Una vez que tengo este dato en la caja de texto, si pulso "Aceptar" me deberá aparecer un último formulario más, en el que ahora sí contenga TODOS los datos (campos) del registro que he seleccionado mediante su código.

Como ven, esta manera es muy típica y tradicional de las aplicaciones de gestión y me gustaría saber cómo implementarla mediante esta plataforma que me parece genial, pero que aún no acabo de sacarle todo el máximo rendimiento que puedo obtener de ella. Son tantos los objetos y la terminología usada, que aún estoy tratando de ver como se relacionan entre sí para formar las infinitas funcionalidades que ofrecen al combinarse.

 

Un saludo y gracias.

 

José Luis.


([N1] mvilalta) #2

Creo que deberias antes de todo eso, mirar algunos de los programas (open apps) para captar la filosofía de la herramienta y abandonar las ideas preconcebidas que tengas de otras herramientas.

Posiblemente sería mas lógico de entrada presentar todos los registros de la tabla y que pulsando dos veces en el registro a modificar te salga el formulario correspondiente y todo esto velneo lo hace sin mas complicación.

si estas empezando puede interesarte lo siguiente:

http://velneo.es/73632/mis-primeros-pasos-con-velneo-v7/#more-73632

saludos. miguel

 

 


(ame) #3

Hola Miguel,

 

Gracias por responder. El problema es que estoy migrando una aplicación y quisiera que la adaptación sea lo más ajustada posible, ya a que mi cliente le resultaría menos traumático este cambio. Entiendo perfectamente lo que me comentas, y sé como hacerlo de esa forma, lo cual es totalmente válido (mostrar una rejilla y que en su propiedad de "formulario de modificación" seleccione el formulario en cuestión), pero me gustaría saber si puedo hacerla de la otra forma por las razones que te he comentado antes. Es simplemente por consultar, es decir, si no hay más remedio que hacerlo como dices, pues habrá que hacerlo así. El fin último es la funcionalidad que tiene que dar (en este caso modificar un registro) y mientras se consiga no importa, pero como dije, me gustaría tener que cambiar la "navegación" de la aplicación lo menos posible para que la experiencia de mi cliente sea mejor.

 

Un saludo.

 

José Luis.


([N4] eic) #4

Hola.

Puedes hacerlo de la siguiente forma (no es exacto a lo que dices, pero se aproxima bastante y es sencillo de hacer):

- Haces un formulario sin origen, en el que pones un edit de una variable (el código que hay que introducir) y un control objeto, en el que mostrarás la lista de todos los registros. En un principio, ese control objeto está oculto. Pones un botón (el que tú decías que mostrara todos los registros), que lo que hace es mostrar el control objeto. Al pinchar en un elemento, lanzas un evento (Item: hacer click) que modifica la variable del código. Y finalmente pones otro botón que lanza otro evento, busca el registro y lo muestra con un formulario.

En vez de hacerlo con dos formularios, lo pones en uno, pero mantienes (casi) la misma funcionalidad.

Saludos,

Fran Varona


(Pepeto) #5

Si estas iniciandote, también puedes darte una vueltecita por aqui

 

http://ascsl.wordpress.com/

 

un saludo

José Luis


([N1] mvilalta) #6

Creo que lo que quieres es esto:

crea un localizador

crea un formulario sin tabala asignada y añade la caja de texto a la que asignaras como contenido la variable CODIGO y dos botones, crea tambien asignada al formulario

una variable CODIGO y dos eventos los cuales se dispararan desde los botones.

uno de ellos llama al formulario de modificación el otro dispara el localizador y asigna la variable al texto.

Te adjunto imagenes.

 

saludos. Miguel.

[attachment=7480,730] [attachment=7480,731] [attachment=7480,732] [attachment=7480,733] [attachment=7480,734]

 


(ame) #7

Hola chicos,

 

Geniales vuestras respuestas. Os respondo:

 

- A mi tocayo José Luis. Muy buena la referencia que me has dado, le he echado un vistazo así rápido y he visto que explica muy bien y muy claro todos los conceptos y la terminología usada en Velneo. Gracias.

- A Fran. Estupenda la solución, con un 95% de aproximación a lo que quería es la que he optado al final, pero con una pequeña modificación que es lo que le da el 5% que faltaba. He conseguido hacer lo que me indicaste pero separándolo en dos formularios como yo quería. Te lo explico aunque me ha extrañado mucho que no se te ocurriera, estoy seguro de que lo sabes. Bueno el caso está en en las instrucciones de procesos y/o eventos "Set" y "Get" de las variables locales de objeto, la instrucción "Crear manejador de objeto" y la de "Disparar objeto". Combinándolas lo que se consigue es que se pasen datos entre variables de distintos formularios, así pues, el formulario que muestra la rejilla y selecciona el código, establece su variable local. Luego el formulario anterior que disparó a éste previamente, recoge el dato de esa variable y lo guarda en la suya. Con ésto conseguimos la comunicación entre formularios.

- Y a Miguel. Gracias también por tu solución, muy aproximada también, de hecho la tendré en cuenta por lo siguiente que te comento. En tu propuesta usas un Localizador, lo que hace aprovechar la potencia de éste, que es la búsqueda de un registro determinado tecleando su índice de búsqueda. En este momento me encuentro en la primera fase de migración del software y quiero que sea una adaptación casi equivalente a lo que ya se tiene, pero estoy casi seguro que en las posteriores revisiones se irá refinando y aprovechando esta potencia funcional, que es de lo que se trata al usar esta herramienta.

 

Por último, aprovecho para consultaros otra duda más. El botón donde muestro la lista de clientes contiene el texto " Clientes", de manera que si el usuario pulsa "F1" es como si hiciera clic en el botón, ¿cierto? Pues no sé porque no funciona a pesar de haber seleccionado en las propiedades del botón, "Tecla aceleradora: F1" y "Combinación de la tecla aceleradora: Tecla".

 

Un saludo y estoy totalmente agradecido por vuestra ayuda. Buenísima la labor que aportáis a los que nos iniciamos en ésto.

 

José Luis.

 


([N1] JorgeVelasco) #8

Buenas Jose Luis.

Las teclas aceleradoras no funcionan en esta versión.

Un saludo.

 

 

 

Jorge Velasco Fernández

jvelasco@theseedsc.com

www.theseedsc.com


(ame) #9

Ah, vaya..., pues nada esperemos entonces.

Venga gracias Jorge, un saludo.

 

José Luis.