Existe una utilidad parte de dynamics 365FO que nos permite conocer en nuestro código desarrollado si cumple con las mejores practicas, mostrandonos errores y warnings; clasificándolos por tipo, todo esto en forma de reporte.
Para generar este reporte, lo que debemos hacer es ejecutar la utilidad xppbp desde un ambiente de desarrollo. Dependiendo de si es un ambiente on prem o un ambiente cloud, la ruta puede variar. CloudK:\AosService\PackagesLocalDirectory\binOnPremC:\AosService\packages\bin
Lo malo de esto es que debe ser ejecutado modelo por modelo, aún no logro saber cómo ejecutar para todos los modelos desarrollados.
Al final, el reporte que te genera es un excel con todo el desglose, en la primera pestaña muestra un concentrado de cada punto y en el resto de pestañas incluye el detalle de cada punto.
http://www.grw.com.mx/wp-content/uploads/2019/03/Dynamics-365-for-Finance-and-Operations.png10431200Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2021-01-15 13:40:082021-01-15 15:41:55Customization Analysis Report (CAR) en Microsoft Dynamics 365 Finance and Operations
El cambio que representa el cómo se
almacena y se accede a los datos en Ax 2012 vs Dynamics 365 F&O viene de la
fuente de información, ya que los datos ahora están en la nube. Anteriormente
era posible –aunque no recomendable- acceder directamente a la base de datos de
Ax 2012, sin embargo, en D365F&O esta característica ya no existe, aunque Microsoft
ofrece soluciones alternas.
Actualmente la base de D365FO está diseñada
para trabajar con la aplicación eficientemente para las transacciones de
procesos, no para ejecutar análisis. De aquí se desprenden los dos grandes
retos al momento de trabajar con la extracción de grandes volúmenes de
información en D365FO.
Uno
de ellos es al momento de trabajar en la extracción
de grandes volúmenes de información en D365FO y saber elegir cuál de las
herramientas utilizar, encontrándonos con Entity Store, Data entities, OData,
Data lake, Power BI.
Adicional
a esto, siempre se busca tener el mejor desempeño
en la extracción de datos, ya que los datos se encuentran en tablas altamente
normalizadas, lo que complica un poco la lectura de datos.
Entity Store (Ax Data Warehouse – AxDw)
El Ax Data warehouse contiene
una copia de datos de una o más bases de datos y lo pone a disposición para
análisis e informes. Los datos que contiene están estructurados en un diseño
optimizado para informes. Las reglas definen cómo se conectan o relacionan los
registros de la base de datos.
Caracteristicas:
Optimizado para grandes cantidades de data workloads
Reportes embebidos directamente dentro de D365 app
En VS se construye y se realiza el deploy de Aggregate Measures. El entity store se actualizará al enviar info hacia AxDw desde D365F&O.
Power BI puede leer directamente desde el AxDw, haciendo query directo.
Entity Store (Data Lake)
Un data lake es un repositorio de
almacenamiento que mantiene los datos en su formato nativo (estructurado o no
estructurado) hasta que se necesite. Un diseño de almacén de datos tradicional
requiere datos altamente estructurados. Un lago de datos puede almacenar
grandes volúmenes de datos de dispositivos sensores IoT, aprendizaje automático
y grandes fuentes de datos. Debido a que la información no tiene que ser
limpiada o indexada por adelantado, hay un gasto mínimo.
Se busca que el Data Lake complemente al
AxDW, no que lo sustituya, ya que el lago va a necesitar un proceso alterno
para catalogar y limpiar los datos, a diferencia de AxDW donde los datos ya estarán
indexados y optimizados adecuadamente.
Tablas principales, entidades de datos y Aggregate
Measures definidas en aplicaciones de Finance and Operations estarán
disponibles en su propio lago de datos (Data Lake Storage Gen2). Los datos se
actualizan y se mantienen actualizados. No es necesario administrar la
programación de exportación.
Las tablas principales, las entidades y las
medidas agregadas se definen en Common Data Model junto con atributos,
definiciones y relaciones ricas. Los datos exportados al lago de datos se
describen en Common Data Model. La estructura de datos en Data Lake Storage
Gen2 refleja la organización de las definiciones de datos en Common Data Model.
Los datos almacenados en Data Lake Storage se describen utilizando metadatos,
según define la especificación del lenguaje Common Data Model. Esto permite que
las herramientas existentes entiendan la semántica y las relaciones de datos:
se alimentan de datos en el lago de datos.
En VS se construye y se realiza el deploy
de Aggregate Measures. El entity store se actualizará al enviar info hacia el
Data lake.
Habilitar el Entity Store para enviar a un Data Lake
Paso 1. En D365F&O habilitar Entity Store para integración con Data Lake
Primero de habilita la actualización
automática del Entity Store, antes de habilitar la integración con Data Lake,
desde Administración del sistema –
Configurar – Almacén de entidades
Almacén de datos (Entity store)
En los mensajes, visualizamos la opción de
habilitar la actualización automática, una vez cambiada la selección, no es
posible regresar a como originalmente estaba y así nos lo muestra un mensaje.
Después de esto, se visualiza la nueva
pantalla donde visualizamos todos los Aggregate Measurements, estos son los
mismos que se muestran del lado de VS en el nodo de Analytics – Perspectives –
Aggregate Measurements
En
cada Aggregate measurement es posible habilitar la actualización por cada una donde
podemos elegir la periodicidad.
Paso 2. Datos del Entity Store en el Azure Data Lake (full push y trickle feed)
Antes de llevar los datos al Data Lake, son
necesarios los siguientes requisitos:
Crear una cuenta de storage
Crear un Key Vault y un secret
Registro de la aplicación
Agregar un service principal al
key vault
Crear una cuenta de storage. Debe crearse
en la misma localidad que donde se encuentra el almacenamiento de nuestro
D365F&O, en este caso, en la imagen se muestra en Centro Sur de E.E. U.U.
Para habilitar nuestra cuenta de almacenamiento como un Data Lake, en opciones avanzadas, seleccionamos la opción de «Data Lake Storage Gen2»
Una vez creado el almacenamiento, copiamos la cadena de conexión que se ubica en las claves de acceso, entro de «Configuración»
Crear Key Vault. Dentro de azure, el siguiente paso es crear nuestro Key Vault configurando la región igual a la cuenta de almacenamiento e igual a D365F&O
Posterior a esto, se creará un secret, colocando en «Value» la cadena de conexión que copiamos de nuestra cuenta de almacenamiento
Registro de la aplicación. Se crea un registro de aplicación otorgando permisos al Key Vault y otorgando permisos delegados
Permisos en registro de aplicaciónPermisos delegados en registro de aplicación para Key Vault
Se crea el nuevo secreto
Secret en registro de aplicación
Agregar un service principal a la Key Vault. En la Key Vault que creamos, vamos a la configuración para agregar una nueva directiva de acceso (Access policies).
En permisos clave (key permissions) y en
Permisos de secretos (Secret permissions) seleccionamos: obtener y enumerar
(Get y List).
En la opción de “Seleccionar la entidad de
seguridad” (Select principal) agregamos el nombre del registro de aplicación
que hicimos anteriormente.
Finalmente copiamos el nombre del DNS de
nuestro Key Vault porque se va a usar en la configuración del data lake.
Paso 3. Configuración del Data Lake en dynamics. En Administración del sistema – Configurar – Parámetros del sistema (System administration > Set up > System parameters)
Parámetros del sistema – configuración de Data Lake
Validación de parámetros, hacemos clic sobre «Probar Azure Key Vault» y después sobre «Probar Azure Storage», si la validaciín es correcta, con esto nos aseguramos que los valores que colocamos en cada campo son correctos y que podemos comenzar a enviar los datos del Entity Store hacía el data lake.
Vemos el resultado de la sincronización en
Azure Storage Explorer y visualizamos los csv en cada aggregate measurements
También es posible visualizarlos en el portal de azure:
Y si abrimos alguno de los csv dentro de
los aggregate measurements podemos ver la información:
http://www.grw.com.mx/wp-content/uploads/2019/06/HTTP-1.png500500Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2020-04-03 18:38:162020-04-03 22:51:07Enviar información de D365F&O a un Data Lake
http://www.grw.com.mx/wp-content/uploads/2019/10/PostMan_GRW.png10801080Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-10-11 21:54:402020-01-14 21:55:12Configuración en ADFS necesaria para consumir OData y ejemplo de consumo con Postman – Dynamics 365 Finance and Operations
http://www.grw.com.mx/wp-content/uploads/2019/07/growit-code.jpg616750Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-10-03 05:26:412019-10-03 05:26:41Crosscompany para consultar datos por OData en Dynamics 365FO
http://www.grw.com.mx/wp-content/uploads/2019/08/laptop-work-1148958_640.jpg426640Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-08-01 01:23:592019-08-01 01:23:59Cómo hacer debug a workflows en Dynamics 365 Finance and Operations
http://www.grw.com.mx/wp-content/uploads/2019/07/growit-code.jpg616750Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-07-23 00:11:342019-07-23 00:11:34Implementar reportes en Dynamics 365 Finance and Operations en Power Shell
http://www.grw.com.mx/wp-content/uploads/2019/07/open-book-1428428_640.jpg480640Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-07-20 04:16:182019-07-20 04:16:18Resolver error "The working folder... is already in use by... on computer" en configuración de TFS D365FO
http://www.grw.com.mx/wp-content/uploads/2019/07/business-events.jpg381640Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-07-10 22:42:562019-07-10 22:47:14Problemas comunes en la configuración de un endpoint para Business event en D365FO
http://www.grw.com.mx/wp-content/uploads/2019/07/business-events.jpg381640Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-07-10 22:42:112019-07-10 22:47:45Crear Logic App en Azure para envío de mails cuando se accione un Business event en D365FO
http://www.grw.com.mx/wp-content/uploads/2019/07/business-events.jpg381640Yered Castrohttp://www.grw.com.mx/wp-content/uploads/2016/06/growit-300x137.pngYered Castro2019-07-10 22:41:202019-07-10 22:48:20Configuración en D365FO y Azure de un endpoint de tipo service bus