Manteniendo entornos de desarrollo y producción con el Dynamics Connector

Si te encuentras en esta fase de implementación del conector entre CRM y NAV, seguramente estés empezando por montarlo en un entorno de desarrollo donde poder probar como funciona, después para ahorrar tiempo querrás saber como puedes llevar todo esto a tu entorno de producción sin tener dolores de cabeza durante el proceso.

Si salvas a un fichero uno de los mapeos que has creado en tu entorno de desarrollo y después intentas crear un mapeo desde un fichero, usando este mismo, en tu entorno de producción puede que recibas el siguiente error: “NOMBRE_ENTIDAD entity is either not configured or could not be found” o también otro como, “Object Reference not set to an instance of an object”

image

Este problema lo tendréis con entidades no estándar, es decir entidades personalizadas que habéis creado en CRM y ahora quereis integrar con NAV o AX, a través del conector de Dynamics. Esto se debe a que la entidad en el entorno de desarrollo, cuando se pasa a la nueva organización en producción ay sea a través de una solución, o porque se crea directamente, no tiene el mismo “EntityMetadataID” entonces en el objeto del adaptador no coincide. Para poder resolver esto os ofrecemos dos soluciones:

Caso 1 – Estáis creando un entorno de producción desde un entorno de desarrollo

 

  1. Instala el conector en el entorno de producción.
  2. Si el servicio del conector esta iniciado, detenlo.
  3. Si tienes Tablas Personalizadas en NAV en la integración que has creado en el conector en desarrollo:
    1. Importa todas las personalizaciones desde el entorno de desarrollo, esto debe de incluir todas las tablas personalizadas, paginas y la codeunit 5150 actualizada.
    2. Actualiza los WebServices y las Integration Pages Tables con tus integration pages personalizadas.
  4. Actualiza la configuración del adaptador de NAV, marca todas las tablas que vayas a usar en la integración.
  5. Si tienes varias empresas en NAV que vayas a integrar, repite el paso 4 para todas ellas, Importa todas
  6. Importa ahora las entidades personalizadas que necesites crear en CRM.
  7. Configura el adaptador de CRM y asegúrate de que se ha importado correctamente la solución del conector en CRM.
  8. Abre ahora el conector que tengas en desarrollo, haz clic con el botón derecho sobre la integración y pulsa en save, esto guardara todos los mapeos en un template file con extensión *.intx.
  9. Ahora copia este fichero a tu entorno de producción “C:\Program Files (x86)\Microsoft Dynamics\Microsoft Dynamics Adapter\Templates”
  10. Copia ahora todos los adaptadores de CRM desde el entorno de desarrollo que puedes encontrar en: “C:\Program Files (x86)\Microsoft Dynamics\Microsoft Dynamics Adapter\Adapters\Microsoft.Dynamics.Integration.Adapters.Crm40\ObjectConfig\CRM Organization”
  11. Pega todos los adaptadores que has copiado en la misma carpeta en el entorno de producción, remplaza los adaptadores que existan, que se han creado durante la configuración del adaptador de CRM ( esto te permitirá usar los mapeos que vas a crear con el template file)
  12. Si tienes mas organizaciones de CRM que estés integrando el paso 10 y 11 deberías de repetirlo para todas aquellas.
  13. Ahora en el entorno de producción, inicia la creación de una nueva integración.
    1. Pulsa el botón de Nueva Integración
    2. Elige la opción “From Template”
    3. Despliega el picklist y selecciona la opción que no tiene nombre, te aparecerá una nueva opción en blanco.
    4. ELige las companies para la integración, que concuerden con las del entorno de desarrollo.
    5. Pulsa create y el conector creará la integración con todos los mapeos del entorno de desarrollo.
  14. Si tienes mas de una integración repite el paso 13 las veces que sea necesario.
  15. Inicia ahora el servicio del conector
  16. Comienza con la integración inicial

 

Caso 2 – Actualizar el entorno de producción con mapeos para nuevas entidades o tablas

 

  1. Una vez mas si el servicio esta activo, detenlo para poder realizar las modificaciones necesarias.
  2. Si tienes Tablas Personalizadas en NAV en la integración que has creado en el conector en desarrollo:
    1. Importa todas las personalizaciones desde el entorno de desarrollo, esto debe de incluir todas las tablas personalizadas, paginas y la codeunit 5150 actualizada.
    2. Actualiza los WebServices y las Integration Pages Tables con tus integration pages personalizadas.
  3. Actualiza la configuración del adaptador de NAV, marca todas las tablas que vayas a usar en la integración.
  4. Si tienes varias empresas en NAV que vayas a integrar, repite el paso 3 para todas ellas.
  5. Importa ahora todas las entidades personalizadas nuevas que hayas creado en CRM.
  6. Actualiza la configuración del adaptador de CRM.
  7. Copia ahora todos los adaptadores que puedes encontrara en: “C:\Program Files (x86)\Microsoft Dynamics\Microsoft Dynamics Adapter\Adapters\Microsoft.Dynamics.Integration.Adapters.Crm40\ObjectConfig\CRM Organization”
  8. Pega ahora todos estos adaptadores en el conector de producción en la misma carpeta.
  9. Si tienes mas organizaciones de CRM repite los pasos 7 y 8.
  10. En el conector de desarrollo salva los mapeos en un fichero, cada uno en el suyo.
  11. En el conector de producción crea los mapeos desde ficheros, no deberías de tener problemas ni errores en este punto.
  12. Si es necesario repite el paso 11 para todos los mapeos.
  13. Inicia el servicio del conector y prueba que todo funciona correctamente.

José Andrés Álvarez Skinner
Ingeniero de Soporte de CRM