POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Dynamics saturday madrid 2019 business events en d365 fo
1. - Mayo 2019
Business Events en
D365FO
• Manel Querol
• @manelquerol
• mquerol@gmail.com
2.
3. Business Events en D365FO
• Manel Querol
• Director técnico en Marqués
• Fundador de TrucosAX
• MVP desde 2009 hasta 2017
• Gamer, Padre y muy friki
4. Business Events en D365FO
• Introducción
• Idea general
• Tipos de Business Events
• Endpoints
• Desde el punto de vista del desarrollador
• Cuando es un Business Event
• Normas que debería cumplir un Business Event
• Creación de un nuevo Business Event
• Personalización de un Payload existente
• Implementación de ejemplo
8. Business Events: Development (III)
• Como creamos un nuevo
Business Event
• DataContract
• Clase BusinessEvent
• Código de envío
Extends BusinessEventBase
Hoy en día usamos múltiples aplicaciones y dispositivos.
Tiene sentido que todas estas aplicaciones se comuniquen de forma fluída y podamos recibir avisos o realizar aprobaciones allá donde nos encontremos o usando nuestra aplicación o dispositivo habitual.
Aplicación: Eventos que suceden durante el tratamiento de documentos, transacciones, etc
Workflow: Eventos que se lanzan a partir de pasos concretos de workflows y pueden usarse para requerir la aprobación en una aplicación externa a D365FO
Alertas: Eventos que pueden lanzarse cuando se ejecuten determinadas alertas configuradas en el sistema. Sirven para ampliar el aviso de la alerta hacia aplicaciones externas.
Service Bus: Queues y Topics
Event Grids y Event Hub
Https y Flow
La intención principal es ejecutar una acción de negocio en un sistema externo a D365FO
No es algo pensado para exportación de datos
Sin falsos positivos
Concretos: No deben ser genéricos provocando que el consumidor de B.E. llegue a interpretar el tipo de evento sucedido en función de los datos recibidos.
Sin ruido: Hay que filtrar el "ruido" antes de lanzar el B.E., no podemos traspasar esa tarea al receptor.
Creamos el DataContract extendiendo de BusinessEventsContract
Creamos las variables privadas y los métodos "parm" con atributos DataMember() y BusinessEventsDataMember()
Notas según la documentación:
Mejor no usar RecIds como parte del businessEvent, mejor usar la alternate key
Los enums deben convertirse usando enum2symbol para usar el símbolo en lugar del valor del enum.
Creamos la clase evento extendiendo de BusinessEventsBase
Atributos de BusinessEvents (Contrato, nombre, descripción y módulo)
Implementar método buildContract (Replaceable(true))
Código para enviar un B.E.
Podemos comprobar si está activo mediante BusinessEventConfigurationReader::isBusinessEventEnabled(classStr(xxxx))
Luego, sencillamente lo instanciamos y .send()
Según la documentación creamos un nuevo contract que envuelve al estándar
Creamos los métodos parm que dan acceso a las propiedades del contract estándar
Añadimos nuestras propiedades y sus métodos parm
Usamos CoC para reescribir el método buildContract del evento llamando a next y usando el resultado para instanciar nuestro nuevo contract
Me chirría algo…
Qué sucede si amplían el contract base?
He hecho la prueba extendiendo el contractbase y me funciona
Gestión del cambio
Gamificación
Mostrar portal Badgr
Creamos un pathway con Badgr para incentivar la adopción de D365FO como herramienta de gestión de ventas
Desde D365FO enlazaremos con Flow a cada creación de un documento de venta, etc
En flow consultaremos una BBDD que tendremos donde indicaremos un código de evento , un número de repeticiones y un código de badge.
Flow incrementará el contador para el usuario indicado del código de evento indicado y si iguala el número de repeticiones configurado lanzará el award del badge en Badgr
Para el mantenimiento de los códigos de evento y repeticiones crearemos una powerApp que atacará CDS