Desde la versión 10.0.12 de Dynamics 365 for Finance and Operations podemos usar las entidades de FnO como Virtual Entities de Dataverse. Esto nos permite crear Power-Apps de tipo model-driven para Finance and Operations sin necesidad de copiar datos entre Finance and Operations y Dataverse. Esto abre muchos escenarios y nuevas formas de integrar Finance/Supply Chain Management con Customer Engagement.
Si queréis saber más sobre la configuración y uso de las Virtual Entities para FnO podéis:
- Leer este post sobre configurar las Virtual Entities en el blog de Aurélien Clere dónde cuenta todos los pasos para hacerlo y más información sobre integraciones de Dataverse y Finance and Operations.
Apuntaros a este TechTalk: Virtual Entities for Finance and Operations Apps. El 22 de septiembre a las 16h (GMT +2) o el 22 de septiembre a las 23h (GMT +2).- Mira este tech talk sobre Virtual Entities para Finance and Operations.
Virtual Entities de Dataverse
Las Virtual Entities del Dataverse representan datos de otros sistemas en el Common Data Service y soportan todas las operaciones CRUD. En nuestro caso las Virtual Entities son una representación de las data entities públicas de FnO.
Cuando configuramos las Virtual Entities de CDS en FnO tenemos que activar las que queramos usar, y una vez activadas aparecerán como una entidad en el Dataverse.
¿Sustituyen las Virtual Entities al Dual-Write? No, unas y otro tienen distintos propósitos y cubren distintos casos de negocio. La diferencia entre usar Virtual Entities o Dual-Write es que las Virtual Entities no duplican datos y Dual_Write sí lo hace. En cambio para las Virtual Entities existe una API web en tiempo real que hace consultas desde y hacia las entidades de FnO.
Acciones en entidades de FnO
Algunas de las entidades de FnO tienen unos métodos espciales que pueden ejecutarse con una llamada de OData, llamados OData actions. Estos métodos tienen que estar decorados con el atributo SysOdataAction y se pueden usar en una acción de Flow:
Acciones OData como acciones de Dataverse
Las acciones de Dataverse son operaciones que también pueden crear, actualizar o borrar registros, como las de FnO. En la imagen de abajo vemos ambas con sus conectores para la misma entidad:
Como podemos ver estamos llamando a la acción AXZPostSalesOrder de la entidad AXZSalesOrderHeadersV2. Esta entidad es un duplicado de la estándar de la cabecera de pedidos de venta en la que he añadido el siguiente método:
[SysODataAction('AXZPostSalesOrder', false)]
public static str postSalesorder(SalesId _salesId)
{
SalesFormLetter salesFormLetter;
salesTable salesTable;
salesTable = SalesTable::find(_salesId);
salesFormLetter = SalesFormLetter::construct(DocumentStatus::Invoice);
salesFormLetter.update(salesTable, systemDateGet(), SalesUpdate::All, AccountOrder::None, NoYes::No, NoYes::Yes);
return CustInvoiceJour::findRecId(salesFormLetter.parmJournalRecord().RecId).InvoiceId;
}
Esta acción simplemente registrará una factura de un pedido de venta abierto, algo que puede ser útil llamar desde CE o una Power App mientras visitas un cliente. Y gracias a las Virtual Entities ¡podemos llamarlo con el conector de Dataverse!
Un ejemplo
En el siguiente ejemplo voy a mostrar como un pedido de Dynamics 365 FnO se registra usando una acción de Dataverse desde Flow. Por ejemplo este pedido de venta:
Podéis ver que está abierto. He creado una canvas app con una DataTable que muestra todas los pedidos abiertos de la empresa USMF usando la Virtual Entity de Dataverse:
La app tiene un botón que llama a un Flow que obtiene el registro y llama a la acción de Dataverse:
Selecciono un pedido de venta y registro la factura dándole al botón en la Power App:
Tenemos que esperar a que termine de ejecutarse el Flow…
¡Y listo! Cuando termina (ha hecho un retry y por eso sale el check en naranja) podemos volver a Dynamics 365 y ver que ¡se ha registrado la factura del pedido de venta!
Con las Virtual Entities obtenemos una nueva herramienta que no sólo nos permite acceder a los datos de Finance and Operations sinó también ejecutar procesos de negocio. Cada vez tenemos más herramientas para integrar el ERP y CRM con menos esfuerzo y mejores resultados!
2 Comments
Pingback: Desarrollar entidades personalizadas para Dual-write - ariste.info
Pingback: Nuevas características de Dynamics 365 en 2021: mirando por el retrovisor - ariste.info