Blog

El bloc de formularios

Se trata de un objeto que nos permite recorrer, uno a uno, una lista de registros de una misma tabla desde un formulario.

El bloc de formularios 1

Tal y como puede verse en la captura de pantalla anterior, el objeto bloc de formularios usa un formulario y añade una serie de controles que nos permitirán movernos al registro anterior/siguiente, al primero o al último, o a un registro concreto de la lista.

Para explicar este objeto voy a hacer uso del tutorial de primeros pasos; una aplicación con una estructura de tablas de Artistas, Álbumes y Pistas. En este caso vamos a crear un bloc que nos permita recorrer una lista de Álbumes dentro del formulario de Artistas. Para ello necesitaremos crear dos objetos: Un bloc de formularios y un proceso que devuelva los álbumes de un artista.

Para crear un bloc pulsaremos el botón    El bloc de formularios 2 de la barra de objetos de Velneo vDevelop y estableceremos las propiedades siguientes:

El bloc de formularios 3

Una de las propiedades más destacables de este control es la propiedad Cambios en ficha, en ella configuraremos cuál ha de ser el comportamiento del sistema cuando el usuario modifique una ficha y cambie a otra; podremos hacer que el sistema pida confirmación al usuario para guardar los cambios, hacer que guarde o que cancele los cambios sin petición de confirmación al usuario.

Para crear el proceso pulsaremos el botón   El bloc de formularios 4 de la barra de objetos de Velneo vDevelop. En el proceso, entre otras propiedades, tendremos que indicar tanto su origen como su destino. Dado que se trata de obtener los álbumes de un artista el origen será una ficha de la tabla de Artistas y el destino será una lista de Álbumes:

El bloc de formularios 5

Y su contenido será:

El bloc de formularios 6

El siguiente paso será incrustar el bloc en el formulario del artista. Para ello editaremos el formulario correspondiente y, en la barra de controles, seleccionaremos el botón  El bloc de formularios 7 (control objeto), lo pegaremos en el formulario y le asignaremos las propiedades siguientes:

El bloc de formularios 8

Y ya tenemos totalmente operativo el bloc de álbumes en la ficha del artista.

18 thoughts on “El bloc de formularios

  1. Hola.

    Si entendí bien en su momento el multivista, nos permitía incrustar, dentro de un formulario, otro formulario de otra tabla y modificar sus datos (lo cual era una cosa muy interesante, y que no teníamos). Pero esto va un paso más allá, porque nos permitirá modificar datos, por ejemplo, históricos del formulario en el que estábamos, sin hacer doble click en una rejilla de histórico, sino viéndolos directamente. Impresionante!

    Saludos,

    Fran Varona

  2. A Fran Varona:

    Estás en lo cierto aunque me gustaría puntualizar que el control que permite incrustar cualquier objeto aparcable dentro de un formulario es el control objeto; el multivista es uno de los objetos aparcables que, como tal, podrá ser incrustado en un formulario.

    Un saludo.

    Rafael Cueto-Felgueroso

  3. Buenas tardes:

    Es parecido, pero sobre una lista de registros cerrada, al contrario que los punteros a hermano que van por índice.

    Por lo que parece, tampoco se pueden añadir nuevos registros. ¿Cierto?

    Bye,

    Fran.

  4. Carlos Abella: Seria similar a las funciones de botones de formulario de moverse a hermano en cuanto a la funcionalidad de poder editar una ficha anterior/siguiente en un formulario, aunque más sencillo de programar e independiente de la caja de datos, pues el bloc no requiere de la creación de enlaces a hermano contiguo en la tabla para poder moverse entre los registros de la tabla.

    Fjpnovo: El bloc de formularios, efectivamente, está supeditado a una carga previa de registros; si bien es posible añadir un registro desde el formulario (mediante un proceso disparado desde un botón, por ejemplo) éste registro no será añadido a la lista que lo alimenta de forma automática.

    Si se trata de un bloc incrustado en un formulario tal y como apuntó Eic anteriormente, podrás mediante el uso de eventos y los comandos de proceso de interfaz, incluir en el formulario principal el botón que dé de alta la ficha y fuerce nuevamente la carga de los registros del bloc.

    No obstante, tomamos nota de la posibilidad de dar altas de registros desde un bloc de formularios y que éstos sea añadido a la lista que lo alimenta, al igual que ocurre con las rejillas.

    Gracias por vuestros comentarios.

    Rafael Cueto-Felgueroso

  5. Hola.

    Aunque no se ha comentado, supongo que el bloc de formularios respetará el orden en que le llegue la lista de registros de entrada, que era una de las características que los hermanos contiguos no proporcionaban (sí que daban un orden, pero era siempre el mismo; en teoría, con los bloc el orden vendrá determinado por la lista de entrada, de manera que podemos variar el orden a voluntad en cada sitio del programa).

    Saludos,

    Fran Varona

  6. Una cosa que echo en falta a nivel de ficha, es que sea actualizable la ficha o no segun una condición en ejecución, para evitarme el introducirla a nivel de cada uno de los campos si quiero introducir datos ó no. Reconozco que en este objeto lo puedes sustituir por el rechazar las modificaciones sin preguntar, lo que no se es si en este caso puede estar condicionado la aceptación ó el rechazo de la modificación.

    Saludos

  7. A Eic: Efectivamente, el bloc de formularios respeta el orden de los registros de la lista que lo alimente.

    A Ramon: El comportamiento ante las modificaciones de ficha realizadas en el formulario embebido en el bloc se establece en las propiedades del propio bloc (pedir confirmación, guardar cambios automáticamente o cancelar cambios automáticamente); por tanto, este comportamiento será igual en todas las fichas editadas en un bloc. Tomamos nota de tu sugerencia.

    Muchas gracias por vuestros comentarios.

    Rafael Cueto-Felgueroso

  8. Buenas,

    Hace ya tiempo adquirimos una licencia velneo nivel 2 versión 6.4. La verdad es que hemos apostado por esta herramienta de desarrollo, aún no hemos implantado ninguna aplicación pero estamos deseosos.

    El retardo ha sido más que nada la inminente salida de Velneo V7 y preferimos esperar a su salida (mientras nos formamos en V7 y adquirimos conocimientos).

    Mi duda es la siguiente; me bajé la beta 5457, ahora hemos bajado la beta 6250.

    Si empezamos a desarrollar una aplicación en el vServer nuestro desarrollo estará en vuestro servidor ¿como podría desarrollar mi aplicación de forma local para poder probarla?

    ¿Es necesario instanciar mi aplicación en vuestro vServer? ¿Si cambiáis de beta perdemos nuestro desarrollo?

    Esperando una pronta respuesta, reciban un cordial saludo…

  9. A Contactar: Todos los desarrollos que hagas con la beta actual de Velneo V7 deberás hacerlos en el servidor que te ha sido asignado en el panel de control de vServer; pues esta beta no contempla el desarrollo local.

    En lo que respecta a tu otra duda, estate tranquilo, ya que si cambiamos de beta no perderás los desarrollos hechos con la actual dado que habrá compatibilidad entre ambas.

    Muchas gracias y un saludo,

    Rafael Cueto-Felgueroso

  10. Muy interesante.

    Aunque sería muy interesante lo que apunta Ramon, el poder condicionar el que la ficha sea modificable.

    Tal vez esto se pueda conseguir con el botón «Aceptar». ¿Que sucedería si el botón aceptar está desactivado, y cambiamos los datos y nos movemos al siguiente registro?

    Si no tenemos permiso para pulsar el botón aceptar, no deberíamos poder modificar el registro al movernos a otro.

  11. A Comercial: En la beta actual, si has indicado el el objeto bloc que grabe siempre, los cambios serán guardados siempre, incluso si el formulario no tiene un botón «Aceptar». No obstante, tal y como había respondido a Ramon, hemos tomado nota de la sugerencia para que sea tenido en cuenta en el futuro.

    Gracias a todos por vuestros comentarios.

    Un saludo.

    Rafael Cueto-Felgueroso

  12. Hola.

    Estaba pensando en una posible aplicación del bloc de formularios para, p.ej., presentar las distintas revisiones de un mismo presupuesto. Pero me interesaría que se presentara primero la revisión más actual… ¿Habrá alguna manera de indicarle al bloc qué registro queremos presentar? Por supuesto, siempre puedo ordenar la lista de manera que el primer registro sea el que yo quiera. Pero creo que sería interesante tener alguna instrucción (por proceso, o como sea) que me permita «avanzar» o «retroceder» en el bloc, o ir a una ficha concreta.

    Saludos,

    Fran Varona

  13. A Fran Varona (Eic) y Luis (Overall), deciros que de momento no se puede hacer pero sí se podrá en el futuro, tal y como ya se puede hacer con las rejillas y los eventos.

    Por ejemplo: Ahora podemos, en un formulario, incrustar una rejilla y mediante un evento de formulario procesarla mediante el comando “Interfaz: Procesar control” y seleccionar una posición concreta de la misma, mediante el comando “Seleccionar ficha por posición”.

    Muchas gracias por vuestros comentarios.

Dejar un comentario