AX7 - 1/5 Lookups - A través de las relaciones de las tablas

En esta serie de post hablaremos sobre los lookups. Para quien no sepa lo que es, me refiero a los formularios desplegables que tienen algunos campos en Ax.

Empezaremos con los lookups que se crean automáticamente a través de las relaciones entre las tablas.

Para el ejemplo tendremos los siguientes objetos:



La idea es que la FarmTable sea una tabla principal dónde iremos insertando Granjas; y en la FarmTrans se almacenarán transacciones de las Granjas. Las dos tendrán el campo FarmId y las relacionaremos por este campo.

FarmTable.FarmId - FarmTrans.FarmId
  1       :        N


Abrimos la tabla FarmTable para ver los registros que tiene.






Ahora abriremos la tabla FarmTrans y veremos que no existe ningún tipo de desplegable para el campo FarmId.




El siguiente paso es relacionar las tablas; para este fin crearemos una relación nueva en la tabla FarmTrans.





Abriremos las propiedades de la relación dónde le asignaremos la tabla Relacionada.





Una vez creada la relación deberemos indicarle los campos que la formarán. Para este ejemplo, realizaremos una de tipo Normal.




Le indicaremos los campos que la formarán.




Para realizar las siguientes pruebas necesitaremos sincronizar la base de datos, ya sea mediante la opción de menú de Ax, o en caso que le hayáis indicado al proyecto que se sincronice al hacerle un build.




Hacemos un Build para generar el proyecto.




Ahora al abrir la FarmTrans veremos que nos aparece en el campo FarmId el típico icono que indica que contiene un desplegable; si presionamos sobre éste veremos el desplegable.






Si os habéis fijado en el desplegable de la imagen anterior, se ve que sólo contiene el campo FarmId,. Esto es debido a que fue el primer campo que se creó en la tabla.

A continuación os mostraré otras formas de modificar los campos que aparecen en el lookup.

Crearemos un índice con los campos que se ven en la imagen:


Nota: He agregado el campo inventLocationId a la tabla.

Si volvemos a la FarmTrans veremos como el desplegable ha sido modificado y mostrará los campos que forman el índice.




A continuación modificaremos la relación, con lo que se nos mostrarán  los registros filtrados en el lookup. Vamos a añadir un campo llamado active y marcaremos algunos registros.





Modificaremos la relación para que sólo nos muestre las Granjas activas. Lo haremos añadiendo un campo de tipo Related Field Fixed con el campo Active como se muestra en la imagen.




Nota: El campo Active extiende del campo NoYesId.

Con esta acción conseguiremos que en el desplegable sóo nos muestre los que tengan el check activo.




Para finalizar este primer post , os enseñaré otra manera de modificar el desplegable que se muestra, y eso lo conseguiremos con el grupo de campos AutoLookup.
Iremos al nodo Fields Group de la tabla dónde agregaremos todos los campos disponible en las tablas, y en el desplegable, ahora se muestran todos.




Comentarios