En este caso práctico vamos a añadir un botón que muestre una ventana que nos permita seleccionar un cliente y ver sus contactos. Además, podemos abrir el modelo de modificar contacto. Es importante tener en cuenta que se trata de un ejemplo genérico. Si lo quieres implementar en tu entorno debes asegurarte de que estás obteniendo los datos deseados.


A rasgos generales, vamos a necesitar:

  • Un modelo que muestre la información
  • Una grid que se muestre en el modelo
  • Subproceso que muestre el modelo --> un proceso para encapsularlo --> un menú para llamarlo
  • Subproceso que muestre el modelo de modificar contactos--> un proceso para encapsularlo --> un menú para llamarlo


En este ejemplo no vamos a necesitar añadir ningún procedimiento, función ni vista a la base de datos, por lo que vamos a empezar creando el menú para llamar a editar contacto desde la grid.


Necesitaremos empezar por el subproceso que muestre el modelo estándar de Modificación de contacto, de tipo Modelo y activado.



A continuación, crearemos el proceso que llame al subproceso anterior. Especificando que es de tipo Formulario y Activado.



Y, para acabar con este paso, necesitaremos  crear un menú para añadirlo en el menú contextual de la grid, que llame al proceso anterior, en el área Formulario y activado.



Una vez tenemos el menú preparado, vamos a continuar seleccionando la grid estándar de contactos para clonarla y adaptarla a nuestro modelo. Bien es cierto que se podría configurar la grid desde cero, pero este paso nos ahorrará tiempo y posibles errores. Para esto seleccionaremos la grid de Contactos por clientes TPV (id AHOR12) y pulsaremos el botón de Clonar. Vamos a personalizarla con las siguientes características:

  • Registros por página: 4, aunque este valor dependerá del espacio que le reservemos en la pantalla del modelo, es más cómodo para trabajar poner un valor ajustado y que salgan los botones de navegación a que salga el scroll de la grid.
  • Propiedades de la grid:
    • Desmarcar el campo visible de la propiedad IdCliente, ya que vamos a estar viendo el cliente en la lista desplegable.
    • Añadir el menú que acabamos de crear como menú de línea, no visible, para que no afecte al rendimiento del formulario.


El siguiente paso es crear el modelo. Igual que en el resto de casos prácticos no nos vamos a detener demasiado en este punto, ya que depende mucho del gusto y necesidades personales. En nuestro caso, proponemos el siguiente esquema pero queda a elección del programador.




En cuanto al tamaño de los componentes del modelo, casi todos los componentes tienen unos tamaños de 0px o 100%, esto quiere decir que el componente se adaptará a la sección que lo contiene.

  • Frame flotante: Ancho = 800 px
  • Sección Pie de página: Alto = 100 px


Como queremos que la lista desplegable muestre todos los clientes a los que tenemos acceso desde el TPV, indicaremos en origen de datos la vista vClientes_TPV. Si queremos que los datos sean de una vista personalizada, tendremos que modificar el origen de datos para indicar la vista deseada. 


Además, como vamos a necesitar saber qué cliente está seleccionado, en valor indicamos {{IdCliente}}, es importante respetar las mayúsculas, ya que será el parámetro que se le pase luego a la grid.


El siguiente elemento a personalizar es un componente de tipo grid para alojar los datos de los contactos, donde indicaremos que el TPV Objeto es la grid que hemos creado al principio del caso práctico.



Tanto en el menú que tenemos en el título como en del pie lo utilizaremos para cerrar el formulario, por lo que en ambos casos podemos utilizar la llamada al menú estándar. La diferencia entre ambos 



Una vez finalizado y guardado el modelo, necesitamos un botón en un menú para llamarlo, por lo que tenemos que crear un subproceso que lo abra y un proceso que lo llame.


El primer punto del último paso es crear el subproceso, de tipo Modelo y activado que llame al modelo que acabamos de crear.


El siguiente punto, será crear el proceso que lo llame, en el área de formulario, activado y  ejecución online. En este punto podemos determinar qué icono tendrá en el menú. En el ejemplo, además, le hemos indicado que se abrirá con el atajo de teclado Ctrl + q.



El último punto de este paso es añadir este subproceso al menú elegido. En nuestro caso, lo hemos añadido en el menú de acceso rápido.



Tras cerrar sesión de TPV y volver a entrar, podemos ver nuestra personalización.