16/17 El objecto common

Seguro que muchas veces habréis visto este objeto definido como variable; y tomando como valor cualquier tabla o mapa.

El objecto Common es del que heredan todas las tablas de Ax. Lo podemos encontrar en el nodo System Documentation > Tables > Common.


Como se puede ver este objeto tiene ya unos campos predefinidos que son los que pueden aparecer en vuestra tabla dependiendo de las propiedades asignadas a ésta.
 Si presionamos dos veces sobre el nodo Common se nos abrirá el explorador con la pagina de referencia de microsoft sobre este objeto.




Si miráis en la columna métodos, veréis todos los que se pueden anular en las tablas. Esto es debido a que todas las tablas provienen de ésta, si os acordáis del super que aparecía en todos los métodos anulados, bien pues iban hacia el objeto common.

Vamos a ver como utilizar este objeto con un pequeño job.


static void CommonTest(Args _args){
   CustTable     custTable;
   VendTable     vendTable;
   CustVendTable custVendTable;


   void getCommon(Common _common)
   {
      CustTable custTableLocal;
      VendTable vendTableLocal;


      switch (_common.tableid)
      {          
               case tableNum(CustTable):
               custTableLocal = _common;
               break;
          

               case tableNum(VendTable):
               vendTableLocal = _common;
               break;
      }
   }


   select firstOnly custTable;


   getCommon(custTable); 
 
   select firstOnly vendTable;
   getCommon(VendTable);

   custVendTable = vendTable;

   getCommon(custVendTable);
 }

Si lo probáis podréis comprobar que el objeto comon va recibiendo las distintas tablas y se adapta a ellas.

Fijaos como la variable common adapta el valor de la custTable.





Ahora viene la pregunta del siglo, si puede ser cualquier tabla y tiene los métodos que se pueden anular, se pueden utilizar por ejemplo, ¿para crear un registro en la tabla de clientes?

En las siguientes imágenes tenéis la respuesta.



Aquí el resultado.

 

Comentarios