AX7 - TableIdTable y TableFieldIdTable

Existen una serie de tablas que no pueden ser localizadas en el AOT; hoy me centraré en las que tiene como sufijo el texto "TABLE".

En el AOT encontramos lo que sigue:



mientras que en el SQL encontraremos lo que sigue:




En las anteriores versiones disponíamos de los ids de la tabla y de los campos en las propiedades del objeto, pero en esta nueva versión, esto no es así.



Seguimos disponiendo de las funciones con las que recuperar los nombre e identificador de las tablas y campos.


class Test
{       
    /// <summary>
    /// Runs the class with the specified arguments.
    /// </summary>
    /// <param name = "_args">The specified arguments.</param>
    public static void main(Args _args)
    {     
        TableId     tableId;
        FieldId     fieldId;

        tableId = tableNum(CustTable); //Devolverá el identificado de la tabla CustTable

        info(strFmt("Identificador de la tabla de clientes: %1", tableId));

        info(strfmt("Nombre de la tabla: %1", tableId2Name(tableId)));
        info(strfmt("Nombre que aparece en la etiqueta de la tabla: %1", tableId2pName(tableId)));

        fieldId = fieldNum(CustTable, AccountNum); //Devolverá el identificador de la tabla
       
        info(strfmt("Nombre del campo: %1", fieldId2Name(tableId, FieldId)));
        info(strfmt("Nombre que aparece en la etiqueta del campo: %1", fieldId2pName(tableId, fieldId)));
    }

}






En el SQL podremos obtener estos mismos datos si buscamos en las tablas que comentaba al inicio. A continuación explicaré un poco el contenido de cada una.

TableIdTable: Almacenará el Id y nombre de la tabla



TableFieldIdTable: Almacenará los ids y nombre de los campos.




TableIndexIdTable: Almacenará los índices de las tablas.


TableLabelTable : Almacenará las etiquetas de las tablas 




Eso no implica que en la tabla que ha existido en versiones anteriores la SQLDictionary no siga almacenando el id de la tabla y los campos que la componen.





Comentarios