diccionarios-en-business-central-tutorial-aitana

¿Cómo utilizar los diccionarios en Business Central?

Javie ParaderaTutoriales Leave a Comment

En Dynamics 365 Business Central, los diccionarios tienen un papel fundamental en la definición y configuración de la aplicación. Los diccionarios en Business Central son una colección de objetos y elementos que definen la estructura y el comportamiento del software. Estos objetos se utilizan para definir tablas, formularios, informes, páginas y otros elementos clave que conforman la funcionalidad del sistema.

Los diccionarios pueden ser unas herramientas muy útiles para programadores y desarrolladores en Microsoft Dynamics 365 Business Central. Por ello, con este artículo te mostramos cómo te puede ayudar esta funcionalidad y cómo usarla correctamente. ¡Sigue leyendo y toma nota!

Principales características de los diccionarios en el ERP de Microsoft

Similitud con las tablas temporales

En Dynamics 365 Business Central (anteriormente conocido como Microsoft Dynamics NAV o Navision), las tablas temporales pueden seguir utilizándose en ciertos escenarios específicos. Sin embargo, el uso de diccionarios y extensiones ofrece una forma más moderna y recomendada de manejar los datos temporales y de adaptar el sistema a las necesidades empresariales cambiantes.

Por lo tanto, podría decirse que, gracias a los diccionarios en Business Central, podemos dejar atrás la funcionalidad de las tablas temporales, cuya funcionalidad es el almacenamiento de claves y valores relacionados.

Se puede pensar en los diccionarios como tablas simples de dos campos dónde el primero es la clave y el segundo es el valor asociado. En este ejemplo puede verse de forma muy clara:

diccionario-tabla-1-ejemplo-tablas-temporales

Los datos pueden ser desordenados

Otra característica de los diccionarios es que no necesitan estar en orden. A diferencia de otros sistemas o lenguajes de programación donde el orden es crucial para el funcionamiento adecuado del programa, en Business Central, el sistema se encarga de manejar y organizar los objetos de manera interna, lo que brinda cierta flexibilidad y ventajas en términos de desarrollo y mantenimiento.

Al contrario que las listas, que sí tienen un orden indexado, los diccionarios puedes ser desordenados. Siguiendo con el ejemplo anterior, podemos ver cómo se pueden ver los diccionarios también:

diccionario-tabla-2-ejemplo-listas

Cómo se definen los diccionarios en lenguaje AL

Como muchos ya conoceréis, el AL es un lenguaje declarativo y moderno que se utiliza para crear extensiones que agregan funcionalidades personalizadas a Business Central sin modificar el código base del sistema. Las extensiones desarrolladas en AL pueden contener objetos como tablas, páginas, informes, códigos de negocios y más.

En AL, el tipo de datos ‘Dictionary’ puede definirse con esta estructura para cualquier tipo de variable simple, aunque es conveniente recordar que el primer tipo de dato que queremos almacenar actuará como clave:

codigo-al-diccionarios-business-central-1

Como se puede comprobar hay una gran cantidad de combinaciones posibles para crear un tipo de datos diccionario. Sin embargo, la única restricción es que sólo pueden usarse tipos de datos simples, cómo en las listas.

Aunque los diccionarios pueden parecer más complejos de entender por funcionalidad y combinatoria que las listas tan sólo tienen 10 métodos disponibles, mientras que las listas tienen hasta 18.

Nombre métodosDescripción
Add(TKey, TValue)Añade una clave y un valor específicos al Diccionario.
ContainsKey(TKey)Determina si el Diccionario contiene una clave especificada.
Count()Recuento del número de claves/valores emparejados que contiene el Diccionario.
Get(TKey, var TValue)Selecciona el valor asociado a una clave especificada.
Get(TKey)Selecciona el valor asociado a una clave especificada.
Keys()Recoge la colección de claves que contiene el Diccionario.
Remove(TKey)Elimina el valor con la clave especificada del Diccionario.
Set(TKey, TValue)Asigna el valor asociado a una clave específica.
Set(TKey, TValue, var TValue)Asigna el valor asociado a una clave específica.
Values()Recoge la colección de valores que contiene el Diccionario.

Los diccionarios trabajan en conjunto con las listas ya que cuando se realiza el recuento de las claves o de los valores se trata precisamente de una lista.

codigo-al-diccionarios-business-central-2

Ejemplo de caso de uso

En este primer ejemplo de uso se muestran dos funciones. En la segunda, ‘GetDiccionarioCliente’ utilizamos la funcionalidad ‘if DiccionarioClientes.Add() then;’ junto con ‘repeat’ para incluir en el diccionario de clientes todos aquellos que no estuvieran integrados ya en el diccionario de antemano excluyendo posibles errores por repetición.

Una vez el diccionario esta completando con la información de los clientes necesaria, en la función ‘EnviarMail’ recorremos todas las claves de clientes con el parámetro ‘DiccionarioClientes.Keys()’ y con la funcionalidad foreach que enviara un mail a cada cliente del diccionario por orden de carga en el mismo.

ejemplo-caso-de-uso-diccionarios-business-central

¿Qué te han parecido los diccionarios? ¿Conocías esta funcionalidad de tu Business Central? Gracias a ellos, podrás manejar objetos sin necesidad de un orden específico. Lo que le proporcionará flexibilidad, eficiencia y facilidad de desarrollo y mantenimiento a tu equipo de desarrollo.

Si te has quedado con ganas de aprender más sobre Dynamics 365 Business Central, no puedes perderte el resto de los tutoriales de nuestros expertos. Y si quieres resolver alguna duda, ¡ponte en contacto con nosotros y te ayudaremos lo antes posible!

javier-paradera-aitana

Javier Paradera
Business Applications

Deja un comentario