14/17 Propiedades de las tablas

Para acceder a las propiedades de las tablas nos situaremos encima de la tabla y presionaremos el botón derecho del ratón para acceder al submenú.

Aquí podremos ver las propiedades de ésta:



A continuación explicaré las propiedades más importantes.

Id: Es el identificador de la tabla, cada tabla de AX tiene su propio identificador que será único en la aplicación.
Name: Nombre de la tabla en el AOT.
Label: Etiqueta que verá el usuario.
FormRef: En esta propiedad le indicaremos un menú Item de tipo Display. Este menú Item será el formulario asociado a la tabla.

Os pongo un ejemplo:

- Si le hemos indicado un valor:

Al situarnos en una tabla que tenga relación con la FarmTable a través de su índice primario; ya sea por EDT o por relaciones en las tablas; irá a buscar el valor de la propiedad y nos abrirá el formulario.

- Si no le hemos indicado valor:

Realizará la misma acción pero al no encontrar valor en la propiedad FormRef, lo que hará es buscar algún formulario con el mismo nombre que la tabla.





TitleField1, TitleField2: En estos dos campos asignaremos, si lo deseamos, un campo de la tabla que identifiquen al registro.


Si posteriormente en el diseño de un formulario le indicamos la propiedad TitleDataSource.


En la parte superior del formulario nos mostrará los campos que componen el TitleDataSources seleccionado.


TableType:

Existen tres posibles valores:

Regular: Tabla que existe en la base de datos (SQL) y guarda los registros.
InMemory: Tabla que se inicializa en la memoria en el momento en que un proceso la utiliza, si crece demasiado, se acabará guardando en un fichero en el disco.
TempDb: Funcionan como si fueran tablas regulares; se pueden utilizar para agregaciones, hacer joins con tablas regulares, tiene todo el poder de una tabla regular pero son tablas temporales..


Cachelookup:

Tiene las siguientes cinco opciones:

None: Ningún dato se guarda en caché; este valor se utiliza para tablas que se actualizan con frecuencia. Ejemplo: InventTrans
NotInTTS: Se guardan datos en caché pero no se realizan cachés fuera de una transacción, se lee primero de la base de datos y posteriormente de la caché. Ejemplo: CustTable.
Found: Se guarda en caché y se utiliza para tablas que no se actualizan con regularidad, siempre se lee de la caché excepto si se realiza alguna actualización en la tabla.
Como ejemplo podemos tomar cualquier tabla de parámetros (CustParameters, VendParameter..)
FoundAndEmpty: Todos los registros se guardan en caché si estos no existen o se va a realizar una actualización de la tabla se realiza una llamada al SQL.  Ejemplo: AssetBookTable
EntireTable: En el momento que se selecciona un registro en la tabla toda ésta se guarda en caché.



CreateRecIdIndex: Nos creará un índice con el campo RecId.
SaveDataPerCompany: Le indicará a la aplicación si debe crearse el campo DataAreaId en el SQL, el cual se guarda el identificador de la empresa que ha creado el registro.
"Precaución con modificar ésta propiedad porque podríais eliminar éste campo del SQL".
TableGroup: Se utiliza para clasificar a que grupo pertenece la tabla; se recomienda asignarle uno de acuerdo a los datos que guardará.



Resulta muy útil a la hora de exportar datos poder indicarle un grupo de tablas.



Si no sabéis que grupo indicarle buscad en la aplicación una tabla que sea similar a la vuestra para saber que grupo asignarle.

PrimaryIndex: Le indicaremos el índice primario de la tabla el cual identifica los registros de la tabla como únicos.
ClusterIndex: Le indica el índice con el qué los registros serán ordenados y almacenados en el SQL.
Por Ejemplo si le indicamos un campo de tipo string y tenemos tres registros en la tabla a,b,c los registros serán almacenados en el SQL por orden alfabético.

ModifiedDateTime, ModifiedBy, ModifiedTransactionIId, CreatedDateTime, CreatedBy, CreatedTransactionId, CreatedDateTime, CreatedBy:
Si le indicamos Yes en la propiedad de la tabla se nos crearán estos campos físicamente en la tabla del SQL y como sus nombres indican los Created* guardarán los datos de quien y cuando se crearon y los campos Modified* guardarán cuando y quien ha modificado un registro.


EntityRelationShipType, Extends, Abstract,  instanceRelationType, SupportInheritance:
Estos campos son utilizados cuando queremos indicarle a la tabla que se utilizará con herencia. En futuros post hablaremos sobre la herencia de tablas.

ValidTimeStaterFieldType: Le indicará si la tabla utilizará campos de fecha para la que los registros son válidos.

Podemos indicarle fecha o fecha y hora.




Si le indicamos alguno de los valores el sistema nos creará los campos en la tabla.


Posteriormente deberemos agregarle los campos de fecha al índice primario.




Si creamos un registro veremos como el sistema nos asigna en la fecha ValidFrom la fecha actual del sistema.


En caso de crear un registro que tenga el mismo identificador, automáticamente el sistema nos avisará y modificará la fecha ValidTo del registro original.




Si probáis ha realizar una consulta comprobaréis que el sistema ya nos filtra por los registros válidos para la fecha actual.



Aquí tenéis el mismo job pero en esta ocasión le indico las fecha por las que quiero que busque.

Comentarios