• Home
  • Artículos
  • Autonuméricos nativos en cualquier entidad de Dynamics 365

Autonuméricos nativos en cualquier entidad de Dynamics 365

Es muy común el uso de autonuméricos en MS Dynamics CRM. Los autonuméricos forman parte de CRM desde hace unas versiones. Sin embargo estos autonuméricos están limitados a unas pocas entidades del sistema, y podemos encontrarlo accediendo a el Área de configuración –> Administración –> Numeración automática

   

Con esta numeración podemos configurar un prefijo personalizable. El sufijo será aleatorio aunque se podrá elegir la longitud y entre el prefijo y el sufijo estará el autonumérico. Por ejemplo, para la entidad de contrato tendrá el siguiente formato:

CNR-01000-AS7FX3

Sin embargo a partir de la versión 9 de Dynamics 365 estos autonuméricos se pueden crear para cualquier entidad. Microsoft aún no ha implementado la interfaz gráfica necesaria para crear este tipo de campos. Sin embargo se puede crear el campo mediante una llamada a la API. Para crearlo únicamente debemos llamar a la api con la intención de crear un campo de tipo línea única de texto (String) y añadirle la propiedad ‘AutoNumberFormat’. Esta propiedad definirá el formato que queremos para nuestro autonumérico. En el ejemplo del autonumérico anterior el formato se compone de los siguientes elementos:

 

{Prefijo]-{NúmeroSecuencial:Longitud}-{StringAleatorio:Longitud}

 

En la propiedad ‘AutoNumberFormat’ debemos insertar la siguiente cadena de caracteres para que CRM lo interprete:

 

CNR-{SEQNUM:5}-{RANDSTRING:6}

 

SEQNUM y RANDSTRING hacen referencia a variables del sistema que generan un autonumérico y un string aleatorio respectivamente. Aparte de estas dos propiedades también existirá la posibilidad de insertar una fecha en el autonumérico mediante la propiedad DATETIMEUTC seguida del formato. Por ejemplo:

CNR-{SEQNUM:5}-{RANDSTRING:6}-{DATETIMEUTC:yyyyMM}

 

Un ejemplo de la llamada a la API para la creación de un atributo de este tipo podría ser la siguiente:

Por último, existe la posibilidad de establecer un valor de inicio para el autonumérico. Esto quiere decir que si tenemos previamente registros creados en CRM y queremos que el autonumérico comience en un número que no sea el predeterminado habrá que modificar el parámetro ‘Seed’. Para ello habrá que ejecutar una petición del tipo ‘SetAutoNumberSeedRequest’. En este tipo de petición habrá que especificar nombre de entidad, campo y valor por el que queramos que comience:

La comunidad de Microsoft ya ha desarrollado herramientas para la implementación de autonuméricos que permiten la creación de este tipo de atributos sin tener que recurrir al código aunque es de esperar que Microsoft implemente esta funcionalidad en la interfaz gráfica de CRM en futuras versiones.

"Trackback" Enlace desde tu web.

AX3