Data Everywhere
Notas de actualización
Versión 3.0 - 22/01/2024
Se añade la posibilidad que varias empresas repliquen sobre una misma empresa destino. Para ello se han creado dos nuevas opciones en la tarea de replicación ("Sumar en destino a los campos" y "Reconstruir grupo dimensiones") y otras opciones en los campos de entidad ("Sumar en destino").
Con esta nueva funcionalidad, varias empresas pueden replicar a una misma empresa destino "Mov. contabilidad" (y otras tablas relacinadas, como "Mov. cliente", "Mov. proveedor", ...), quedando cada empresa en un rango concreto de movimientos (gracias "Sumar en destino a los campos" y "Sumar en destino").
Si se activa, en la BBDD destino no debería permitirse la modificación de las tablas, a no ser que el Partner haya incluido alguna modificación para permitirlo
La reconstrucción del grupo de dimensiones requiere que las dimensiones y los valores de dimensión se repliquen antes que los registros que incluyen el Id grupo dimensiones (Mov. contabilidad, Mov. cliente...).
Se recomienda que los maestros sean los mismos en las distintas bases de datos, y si no, que no colisionen en su nº.
Primeros pasos
Derechos de aplicación
1. SaaS
Antes de comenzar a usar el producto, un administrador global del tenant de Microsoft debe conceder consentimiento y darle permisos a la aplicación de Data Everywhere en las Aplicaciones de Microsoft Entra (anteriormente conocido como Azure Active Directory).
Desde la "Ficha de configuración de Data Everywhere" está la opción de "Crear aplicación AAD":
Una vez creada la aplicación, en la ficha de la aplicación de Microsoft Entra:
- Conceder consentimientos.
- Crear y/o añadir un conjunto de permisos para poder realizar los procesos necesarios. Si el objetivo es replicar todos los datos de una o varias empresas, se recomienda utilizar el conjunto de permisos "SUPER (DATA)". Hay que tener en cuenta que una aplicación de Azure Directory funciona como un usuario a la hora de asignar permisos, con la excepción que no puede puede utilizarse el conjunto de permisos SUPER ya que no está autorizado para ello.
2. On-Premise
En On-Premise, los permisos se adquieren del usuario al que se ha asociado las credenciales de acceso. El proceso tendrá los mismos permisos que dicho usuario, por lo que es importante que el usuario tenga acceso a realizar los procesos requeridos por Data Everywhere (lectura, inserción, modificación y/o borrado de los registros de las tablas).
Asistente de configuración
Se ha creado un asistente de configuración que se encuentra en la tabla de "configuración asistida" de Business Central:
1. Configurar Dynasoft Data Everywhere
Este sistema es válido tanto para crear la empresa MASTER, que será la que recoja todas las configuraciones de las diferentes conexiones, como para añadir bases de datos adicionales. Las opciones disponibles son las siguientes:
- Crear conexión principal: El sistema crea automáticamente la primera base de datos recopilando los datos necesarios para ello.
IMPORTANTE: Si ya existe una empresa MAESTRA y se vuelve a crear una empresa Master, el sistema borra todas las configuraciones de todas las tablas relacionadas.
- Crear una cadena de conexión: Esto debe ejecutarse desde la base de datos que se desea añadir. El sistema recopila la información de la base de datos, y ofrece un texto que debe ser copiado para posteriormente añadir la conexión en la base de datos Maestra.
- Agregar otra conexión en la base de datos principal: Esta es la opción que se debe seleccionar una vez se tiene el texto copiado del punto anterior. El sistema añadirá la nueva base de datos para que pueda ser seleccionable.
2. Crear entidades de Dynasoft Data Everywhere
Este proceso sólo es funcional desde la base de datos principal. Este proceso permite seleccionar las tablas (entidades) que se desean sincronizar con el producto.
En este punto sólo es necesario añadirle un código y un nombre al grupo para posteriormente poder añadir las tablas:
Una vez seleccionadas las tablas, la siguiente pantalla muestra una matriz con las tablas y con los valores predefinidos para cada caso.
Por defecto estas opciones deben quedar marcadas. Estas opciones hacen referencia a cuando se debe ejecutar el proceso de replicación: al registrar, al modificar, al eliminar y/o al cambiar el código.
Una vez finalizado el proceso, en la página "Lista de entidades de Data Everywhere" aparecen las diferentes entidades y asociadas al mismo grupo:
Primera conexión
La primera conexión hace referencia a la conexión inicial y se debe crear en la base de datos que será la principal. Esta base de datos será el centro de las diferentes configuraciones.
Es configuración se puede crear usando el Asistente o desde Ficha conexión Data Everywhere:
1. Usando el Asistente
Se debe buscar el asistente comentado anteriormente y seleccionar en "Crear conexión principal":
En la siguiente ventana el sistema solicitará un nombre y una descripción para la conexión:
Al introducirlo el sistema mostrará los datos completados y bastará con finalizar el asistente:
2. Usando la Ficha de Conexión
A través de este método basta con añadir un código a la conexión y pulsar sobre "Crear primera conexión" para que el sistema termine de completar los datos.
Nueva conexión manual
1. Común
Para añadir una nueva conexión SaaS se debe indicar varios parámetros:
- Code: Indicar un Código a la conexión.
- Authentication Type: En SaaS es siempre "OAuth2" y en On-Premise suele ser "Basic".
- Accept-Language HTTP Header: Se indica el nombre del localizado a utilizar en la comunicación (los mensajes que provienen de la aplicación de Dynasoft Data Everywhere, así como los formatos de región utilizados (en la fecha, hora e importes)
El nombre del localizado es especialmente relevante si se utilizan filtros de fecha, hora o importe, ya que el formato del filtro debe tener en cuenta el nombre del localizado. Si se deja en blanco, en SaaS se utiliza "en-US", en On-Premise el que se haya configurado en el parámetro "Service Language" del fichero de configuración.
- Split Files At (MB): se debe especificar en MB (megabytes) el corte de los ficheros que se envían de origen a destino. El tamaño es sin comprimir. La replicación de Data Everywhere, comprime los datos antes de enviarlos.
En SaaS, el límite son 30MB. En On-Premise depende del parámetro "Max Upload Size" (que, de forma predeterminada, también son 30MB).
Una vez configurados los datos, en la "Connection Subpage", hay que seleccionar la acción "Import Companies", donde podremos verificar que los datos de conexión funcionan correctamente y se pueden descargar las empresas de la conexión configurada.
2. SaaS
Para añadir una nueva conexión SaaS se debe indicar varios parámetros:
- Indicar un Código a la conexión.
- Indicar que es "SaaS Database"
- Tenant
- Environment Name: nombre de entorno
Estos dos últimos datos se pueden encontrar la propia página de Business Central:
En Business Central Cloud, no debe preocuparse de habilitar puertos o permitir acceso desde fuera ya que todas las conexiones tienen lugar en el Cloud de Microsoft (aunque puede que tengan IPs diferentes si los servidores de los distintos tenants están en ubicaciones diferentes).
3. On-Premise
Si se desea crear una conexión a una BBDD local (On-Premise), hay que considerar otros campos:
- Authentication Type: por norma general, la autenticación será "Basic", con lo que requiere indicar el usuario y contraseña. La contraseña no es la que utiliza el usuario, si no que se debe generar la contraseña en el campo "Web Service Access Key" en la ficha del usuario:
- Connection Base Url: Hay que indicar la Url base del servicio API de la base de datos local. Hay que indicar que si se utiliza el asistente para crear una nueva conexión, el sistema ofrece la Url interna, si esta BBDD tiene que tener acceso externo deberá consultar con su equipo de IT para poner la IP y el puerto correcto para que sea accesible desde fuera de la red local. Revise la documentación Endpoints for the APIs for Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central - Business Central | Microsoft Learn para más información.
- User y Password: credenciales del usuario (tenga en cuenta lo comentado en el "Authtentication Type"). Tenga en cuenta que Data Everywhere tendrá el mismo acceso a Business Central que el usuario indicado sobre la base de datos.
Si dispone de una base de datos On-Premise y una o varias bases de datos SaaS, nuestra recomendación, si quiere olvidarse de problemas de visiblidad entre bases de datos, es que la conexión master sea la base de datos On-Premise, que debería tener visibilidad a las bases de datos SaaS.
Configuración
Se definirán los puntos básicos que se deben configurar para poder comenzar con la sincronización
Básica
En este documento se definirán los puntos básicos para una primera configuración una vez que las conexiones de las diferentes bases de datos están definidas.
1. Activar Data Everywhere
Desde la ficha de configuración de Data Everywhere, debe estar activado el producto:
Se activa en la base de datos Maestra.
2. Creación de las entidades
Las entidades se traducen en las tablas que se desean replicar. Se requiere de un perfil más técnico ya que es necesario saber el número de la tabla de Business Central.
En este punto se debe definir:
- Código grupo de entidades: Si procede, existe la posibilidad de añadir las entidades a un grupo. Esto facilita la posibilidad de crear posteriormente una tarea de replicación donde estén recogidas varias tablas a la vez.
- Tabla origen y tabla destino: Por defecto, se pondrá el mismo número.
- Editable en destino: Lo habitual es que en destino no se puedan insertar, modificar, borrar o renombrar registros, por lo que dejaríamos este valor en "No".
- Accionadores del proceso: Por defecto marcar todas las opciones: enviar al insertar, al modificar, al borrar y al renombrar. Con todo marcado, el sistema, ante cualquier cambio en la tabla elegida ejecutará el proceso de "sincronización"
Se debe crear una ficha de entidad para cada tabla que se quiera usar.
Avanzada
Este documento tiene por objeto descubrir las opciones más avanzadas de cada configuración
1. Ficha configuración Dataeverywhere
Apartado "General":
- Active: indica si Dynasoft Data Everywhere está activo o no
- Master Database: indica si la BBDD actual es la BBDD Master o no
- Management Company: indica cual es la empresa de gestión. La empresa de gestión es aquella en la se gestionan las replicaciones, solo se podrán lanzar las replicaciones desde esta empresa (que es una empresa de la BBDD Master)
- Auto Refresh Every (seconds): indica en segundos, cada cuanto se actualiza de forma automática la página de replicaciones de Data Everywhere. Si se pone 0, esta opción se desactiva y la página de replicaciones no se actualizará automáticamente.
En el apartado "No. Series" se configuran las series que se van a utilizar, según se esté creando una entidad, una replicación o una replicación de configuración.
En el apartado "Replication" existen las siguientes opciones:
- Default Nº Of Retries: número de reintentos por defecto cuando se encuentre algún error.
- Default Minutes Between Retries: especifica el tiempo, en minutos, que el sistema debe dejar pasar entre reintentos
- Wait Before Inmediate Sending (seconds): se trata del tiempo de espera entre que se ejecuta el cambio hasta que se hace el envío de la información.
Disponemos de varias acciones:
- Open Setup Wizard: abre un asistente de configuración que permite configurar la BBDD maestra, una nueva cadena de conexión o añadir otra conexión (no maestra).
- Create AAD Application: permite crear una aplicación de Microsoft Entra para que se pueda conceder consentimiento y asignar los correspondientes permisos de acceso (vea Derechos de aplicación).
- Create No. Series: permite crear y asignar automáticamente los nº de series.
2. Ficha de entidades
Existen 4 detonantes, denominados "triggers", que hacen que se ejecuten el proceso de envío de información. Estos son:
- Send Insert: El sistema ejecuta el proceso si encuentra una nueva CREACION sobre la tabla seleccionada. Por ejemplo, si está configurada la tabla de clientes, sólo se ejecuta si se ha creado una nueva ficha de cliente
- Send Modify: El sistema ejecuta el proceso si existe una MODIFICACIÓN sobre algún campo de la tabla seleccionada.
- Send Delete: Se ejecuta cuando se elimina un registro de la tabla seleccionada.
- Send Rename: Se ejecuta cuando se ha modificado el campo clave de la tabla seleccionada. Por ejemplo, en la tabla de clientes sería el campo "Nº"
Lo normal es activar todas las opciones pero existe la opción de activar sólo los deseados.
Otra información relevante es el campo "Editable In Destination", este campo permite definir si la tabla de esta entidad será modificable en destino. Permite 3 opciones:
- No: La tabal de la entidad no podrá modificar en destino, saltando un error en caso de que en destino se intente insertar, modificar, borrar o renombrar.
- Only Selected Fields: Esta opción permite indicar qué campos se podrán modificar o no, en este caso, dependerá de la columna "Editable In Destination" disponible en la lista de campos.
- Yes: Permite que en destino la tabla de la entidad se pueda insertar, modificar, borrar o renombrar libremente.
En la lista de campos, se pueden establecer varias opciones:
- Replicate: Indicamos si este campo se replica o no
- Sum In Destination: se indica si queremos que en este campo se sume el importe definido en el campo Sum To Destination Fields en la tarea de replicación de Data Everywhere.
- Editable In Destination: si la especificación se ha seleccionado la opción "Only Selected Fields" en "Editable In Destination", aquí se marcarán aquellos campos que se deseen editar en destino.
- Filter Value: Indica el valor del filtro que queremos aplicar a este campo al replicar. Se recomienda utilizar variables de entorno, las cuales van entre llaves {}. Las variables de entorno se especifican en cada tarea de replicación. Revise la sección Opciones Específicas para más información.
- Destination Allowed Editing Filter: Indicamos un filtro para establecer qué datos se pueden modificar en destino, más allá de los campos editables en destino. En este caso afecta a los registros que entran en el filtro indicado. Este campo no acepta variables de entorno.
- Encrypt: Si el campo puede contener información sensible se recomienda cifrarlo. Aquí podríamos tener en cuenta credenciales de acceso o contraseñas. Por defecto, cuando el campo contiene los valores "password", "pwd" o "key" se marca automáticamente para cifrar. El sistema utiliza un sistema de cifrado diferente al que utiliza Business Central.
Mapeo
Opcionalmente se pueden mapear tanto a nivel de tablas como a nivel de campos (por defecto los campos están ocultos, pero se pueden mostrar al personalizar la página). Los campos origen y destino tienen que ser del mismo tipo.
Opciones Específicas
1. Uso de parámetros para filtrar
Existe la posibilidad de definir qué registros de una tabla se debe exportar en base a uno o varios parámetros. A modo de ejemplo, si en una conexión se quiere exportar únicamente los proveedores que tengan un grupo registro proveedor específico.
Para ello, lo primero que se debe hacer es configurar en la ficha de la entidad, el valor que tendrá la variable del campo concreto:
Se pueden especificar valores concretos utilizando las opciones de filtro que nos permite Business Central, pero también se permite utilizar variables de entorno, estas van entre llaves "{ }".
En este caso, para el campo grupo registro proveedor se ha definido el nombre "{grupo}" que, como se indica en la información adicional, debe estar contenido por "{ }" al tratarse de una variable de entorno.
El nombre de la variable es "case sensitive" lo que se traduce en que es importante prestar atención a las mayúsculas y minúsculas
Una vez definido, es en la configuración de ficha de la tarea de replicación donde se especifica el filtro:
Al hacer clic sobre el campo, el sistema desplegará la siguiente ventana donde se podrá definir los diferentes valores de las variables:
Uso
Escenario 1:
Configuración inicial para replicar las tablas de clientes y proveedores entre 2 empresas con las siguientes características:
- Base de datos: ambas son SaaS
- Mismo Tenant
- Empresa Origen: D.E. Source Company
- Empresa Destino: Destination Company
El tipo de replicación será inmediata.
1. CREACIÓN CONFIGURACIÓN EMPRESA MASTER
Para realizar la primera conexión se usará el asistente de configuración, accesible desde la ventana de Configuración de Data Everywhere:
En este punto se debe informar del Código de conexión y su descripción:
El sistema reconoce la información necesaria para crear la conexión:
2. CREACIÓN CONFIGURACIÓN EMPRESA DESTINO
Haciendo uso del mismo asistente se puede configurar la empresas destino. En este caso se compone de 2 pasos:
- En la empresa destino: Hacer uso del Asistente para elegir la segunda opción:
En la ventana superior, el sistema recopila los datos necesarios para hacer la conexión. Es necesario COPIAR las líneas del recuadro.
- En la empresa MASTER se usará de nuevo el asistente para usar el último punto:
En el recuadro se pegarán las líneas anteriormente copiadas:
El sistema automáticamente rellenará la información necesaria para crear la empresa destino.
3. ACTIVACIÓN DE LAS CONEXIONES CREADAS
En la tabla de conexiones Data Everywhere se observan las dos conexiones que se han añadido. Ahora, haciendo click sobre el código para entrar en la ficha de la conexión y poder activarla:
Esta activación se debe hacer para cada nueva conexión que se añada
4. ELECCIÓN DE LAS ENTIDADES (TABLAS) QUE SE VAN A REPLICAR
Se activará el asistente de configuración que podemos encontrar en la ventana de Lista de entidades de Data Everywhere:
Siguiendo los pasos, se elegirá "Seleccionar tablas desde una lista":
Se debe añadir el código y nombre del grupo que contendrá las tablas seleccionadas. En la siguiente ventana se seleccionará las tablas que forman el grupo. En este caso, las tablas 18 y 23 que hacen referencia a clientes y proveedores respectivamente:
El siguiente punto permite seleccionar bajo que acciones se debe activar la replicación. Por defecto se debe dejar todos marcados:
Una vez creadas aparecerán en el listado:
5. CREACIÓN DE LA TAREA DE REPLICACIÓN
La tarea de replicación es la encargada de ejecutar los procesos de replicación. Como se ha comentado, en este caso la replicación será inmediata. Para proceder, se debe dirigir a la tabla Tareas de Replicación para crear una nueva tarea:
En este punto se debe rellenar:
- Código de conexión y empresa origen.
- Código de conexión y empresa destino.
- En código de grupo de entidad se pondrá el que se ha creado durante el ejemplo.
- En tipo de replicación se pondrá "Inmediata" para que el sistema se active en el momento que detecte una modificación, creación, etc.
En el momento que se crea una configuración de empresa destino el sistema crea automáticamente una tarea de replicación de tipo configuración. Esta es necesaria para replicar las diferentes configuraciones que se van añadiendo a las distintas conexiones.
Una vez que el tipo de replicación se ha seleccionado tarea queda activada.
6. ACCION DE REPLICACION
Una vez está configurado todo se puede crear un cliente de prueba. La tarea de replicación actualmente está configurada por defecto para que comience a los 60 segundos de detectar la acción.
Se creará un nuevo cliente:
Se observa que está creado en el entorno TestConsultoría y la empresa D.E. Source Company. En el momento de crearse la tarea de replicación se empieza a actualizar y va informando de los pasos que sigue:
Una vez el proceso ha finalizado, se observa que ha generado la ficha de cliente en la empresa destino:
Este escenario se puede hacer para tantas empresas y tablas se deseen replicar.