Conexiones externas con Dynamics 365 Business Central

José Vicente Safont Tutoriales Leave a Comment

A veces es necesario enlazar nuestro ERP con otros sistemas. Estos suelen ser otros software utilizados para otras funciones o para complementar datos.

Dentro de estas conexiones, algunas de las habituales son las siguientes:

  • Análisis de datos: Esquemas de Business Intelligence para analizar y revisar por ejemplo las ventas. O cualquier otra área de la empresa.
  • Software externo: Existen veces que complementamos nuestro ERP con otro software. Por ejemplo, un gestor de almacén o un programa de producción.

Posibilidad según nuestro sistema

Dentro de Business Central (BC), según nuestra instalación, podremos interactuar con estos sistemas de diversos modos. Pero en los tres casos la interconexión entre sistemas se realiza principalmente a través de Web Service.

Nuestro servidor puede tener el siguiente tipo de instalación:

  • Servidor Saas (software como servicio). Acceso a través de Web Service de Business Central.
  • Servidor en local. Podemos acceder tanto por Web Service como guardando datos en tablas de Business Central directamente. Aunque esto último no es aconsejable si son tablas estándar.
  • Servidor en Azure. Servidor conectado a la red de la empresa por VPN. Se puede conectar como si fuera un servidor local.
Web-Service-de-Business-Central

Imagen de Web Service de Business Central

 

Web Service estándar

El acceso estándar sirve para todos los tipos de servidores. Para acceder a datos es necesario publicar un objeto. Este objeto puede ser de tres tipos: Page, Codeunit o Query.

La interacción con los datos se llevará a través de dicho objeto. Por ejemplo, podemos publicar la página de productos, page 30, y a través de ella recuperar los datos disponibles en dicha ficha o insertar nuevos.

De este modo utilizamos los procedimientos estándar. Pero esto nos puede llevar a que en un cambio de versión, una inserción o lectura de datos no lea uno de los campos que se necesitan al no estar disponible en la nueva versión del objeto. Por ello, es mejor siempre utilizar objetos personalizados.

Web Service personalizado

Siempre es mejor controlar los datos que necesitamos, ya sea para exportar o para importar.

Exportar datos

En el caso de las exportaciones puede ser necesario calcular anteriormente los datos. Para ello se puede generar una tabla interna, donde se vuelquen los datos procesados que se necesiten. Y luego, mediante una página de consulta agregada al Web Service, exportar dichos datos a otra aplicación. El esquema de funcionamiento es el siguiente:

esquema-funcionamiento-expotar-datos

En la imagen posterior podemos ver un ejemplo de Pages utilizadas para la exportación y análisis de ventas en un esquema de BI. Pero antes de dicha exportación los datos son procesados dentro del ERP Business Central.

datos procesados en business central

Importación datos

Para la importación, es más conveniente no utilizar objetos estándar. En este caso se suele crear una tabla nueva donde se guarda el registro. Este registro se guarda directamente a través del servicio web. O en caso de un servidor accesible, local o Azure con acceso a su base de datos se guarda directamente en una nueva tabla para posteriormente procesar los datos.

importacion-datos-business-central

Para poder procesar estos datos, como ejemplo, la creación de un cliente. Se crea un proceso que comprueba si dicha tabla tiene registros. Y si los tiene crea el cliente a partir de los datos de la tabla y luego los elimina. De esta forma se controla el proceso de inserción sin depender de que en futuras versiones se modifiquen objetos estándar mostrando u ocultando campos que para el cliente puedan ser necesarios.

Al mismo tiempo, si los datos vienen desde otras aplicaciones puede que no tengan todos los valores necesarios para crearlos en Business Central. Siguiendo con el mismo ejemplo del cliente, puede que estos se creen en otra aplicación. Imaginemos que dicha aplicación no tiene grupos contables. Entonces sería necesario realizar una adaptación en dicha aplicación para añadirlos. O, más fácilmente, realizar un proceso en Business Central para cuando leamos el cliente, según el campo del valor de país, sepamos por configuración qué valor de grupo contable añadirle.

Resumen

Estas son las posibilidades de interacción entre sistemas. Pero principalmente, estas interacciones dependen del tipo de instalación del cliente (Saas, local o Azure) y de si puede gestionar la base de datos directamente o no.

Espero que este artículo te haya parecido interesante y si tienes alguna duda, no te olvides de dejarnos un comentario o de rellenar el formulario que encontrarás a continuación.

 

José Vicente Safont
Dynamics


Deja un comentario