
En este tercer y Ășltimo artĂculo sobre Power Automate y su conector para Microsoft Dynamics 365 Finance and Operations apps vamos a hablar de las distintas operaciones de escritura existentes en el mismo. Estas operaciones son las siguientes:
Antes de comenzar con ellas, debemos tener en cuenta que estas operaciones estarĂĄn disponibles Ășnicamente para aquellas entidades que tengan la propiedad Is Read Only con valor No, es decir, entidades que permitan la escritura de datos.
De hecho, el propio Power Automate nos avisa de ello, tal y como podemos ver en la siguiente imagen:

Utilizaremos la acciĂłn Crear registro, obviamente, cuando necesitemos crear nuevos datos dentro de MSDyn365FO.

Lo primero que necesitamos indicar es la Instancia sobre la que vamos a trabajar, y la entidad sobre la que queremos crear nuevos datos. Una vez seleccionados estos dos parĂĄmetros, veremos como aparecen los campos necesarios para poder crear el nuevo registro.

Siguiendo con la entidad Grupo de clientes, indicaremos los datos mĂnimos necesarios para poder crear el registro, que son el cĂłdigo del grupo de clientes y el cĂłdigo de empresa. Si pulsamos sobre el link Ver opciones avanzadas aparecerĂĄn el resto de campos que hay disponibles dentro de la entidad para completar la informaciĂłn. Una vez ejecutado el flow, podemos ver como el registro se ha creado en el sistema.


Ahora, si consultamos el log del IIS de nuestra instancia, podemos comprobar que Power Automate estĂĄ realizando una llamada http de tipo POST sobre Dynamics 365, enviando en el body de la llamada los datos que hemos completado en el flow.
2020-12-20 18:22:31 POST /data/CustomerGroups ja.tomas@axazure.com - 201
{
"dataAreaId": "usmf",
"CustomerGroupId": "JAT",
"ClearingPeriodPaymentTermName": "",
"CustomerAccountNumberSequence": "",
"DefaultDimensionDisplayValue": "",
"Description": "",
"IsSalesTaxIncludedInPrice": "No",
"WriteOffReason": "",
"PaymentTermId": "",
"TaxGroupId": ""
}
Podemos utilizar la siguiente acciĂłn cuando necesitemos actualizar un registro dentro de Dynamics 365 Finance and Operations apps.

Si os fijĂĄis bien, esta operaciĂłn se parece mucho a la acciĂłn que vimos en el anterior artĂculo con la que podĂamos Obtener un registro. Debemos indicar la instancia y entidad sobre la que queremos actuar, y tambiĂ©n tenemos que introducir el Id de objeto que identifica de manera Ășnica al registro que queremos actualizar. Como ya vimos anteriormente, se trata, por lo general, del cĂłdigo de empresa, seguido de la clave primaria de la entidad.

Una vez indicado estos valores, nos obliga también a poner los valores obligatorios, como el Customer group (aunque no utiliza ese valor para actualizar), y si vamos a ver las opciones avanzadas, nos aparecerån el resto de campos disponibles en la entidad para que actualicemos su valor.
Una vez ejecutada la acciĂłn, podemos ver como en el log del IIS nos aparecen 2 operaciones:
2020-12-20 18:59:40 PATCH /data/CustomerGroups(dataAreaId='USMF',CustomerGroupId='10') ja.tomas@axazure.com - 204 2020-12-20 18:59:40 GET /data/CustomerGroups(dataAreaId='USMF',CustomerGroupId='10') ja.tomas@axazure.com - 200
Estas operaciones son una llamada de tipo PATCH, que ejecuta para actualizar el registro en cuestiĂłn, seguida de una operaciĂłn de tipo GET que realiza Power Automate para obtener los datos actualizados del registro con el que estamos trabajando, y asĂ poder utilizarlos como Output de la acciĂłn, y tener estos valores en los siguientes pasos de nuestro flujo de trabajo.
Cuidado!: En la segunda operaciĂłn GET, el sistema no utiliza el Id de objeto para obtener los datos, sino, que estĂĄ utilizando el CustomerGroupId, por lo que, si en el CustomerGroupId ponemos un valor diferente al Id objeto, aunque actualizaremos correctamente el registro que indiquemos en el mismo, los datos que obtendremos en el output serĂĄn distintos. Como podĂ©is ver en la siguiente imagen, el sistema lanzarĂa un PATCH contra un registro, y un GET sobre otro distinto. Un poco «loco», no?

En esta acción, igual que nos pasaba al Obtener un registro, debemos tener especial cuidado con el orden de los paråmetros dentro del Id de objeto, y también tenemos la limitación de la empresa asignada dentro de MSDyn365FO, por lo que si intentamos actualizar un registro de una empresa diferente, nos encontraremos con un error 404, ya que no encontrarå el recurso que debe actualizar.

Y llegamos a la Ășltima de las acciones de Power Automate sobre MSDyn365FO: Eliminar registro. Tal y como indica su nombre, lo que conseguimos con esta acciĂłn es eliminar un registro sobre la entidad indicada en los parĂĄmetros de entrada.

Para identificar el registro que queremos eliminar, seguiremos el mismo mecanismo que el indicado en las acciones de Obtener registro y Actualizar un registro, es decir, indicaremos la instancia de Dynamics 365, la entidad sobre la que queremos actuar, y en el Id de objeto, ponemos la empresa seguida de la clave primaria de la entidad.
Tal y como hemos visto hace un rato, debemos ser estrictos con la disposiciĂłn de los elementos que forman el Id de objeto, y de nuevo, contamos con la limitaciĂłn que nos crea el no poder utilizar el parĂĄmetro cross-company dentro de este tipo de acciones, por lo que si intentamos eliminar un registro de una empresa distinta a la que tenemos asignada, nos encontraremos con un error ya conocido para todos.

Por Ășltimo, vamos a consultar de nuevo el log del IIS para revisar la operaciĂłn HTTP que realiza Power Automate sobre nuestra instancia de Dyn365 F&O.
2020-12-20 18:41:08 DELETE /data/CustomerGroups(dataAreaId='USMF',CustomerGroupId='JAT') ja.tomas@axazure.com - 204
Esta operaciĂłn es un DELETE sobre la entidad que hemos indicado, tomando los valores que hemos puesto en el Id de objeto para identificar el registro en cuestiĂłn.
Y aquĂ finaliza esta serie de artĂculos sobre el conector de Power Automate para Microsoft Dynamics 365 Finance and Operations. Como habĂ©is podido comprobar, podemos realizar con el prĂĄcticamente cualquier tipo de operaciĂłn, aunque si que es cierto que nos encontramos con una serie de limitaciones y problemas que nos pueden dificultar al momento de diseñar una soluciĂłn utilizando esta herramienta.
Espero que os hayan gustado y que os resulten Ăștiles. Como siempre, estoy abierto a cualquier tipo de comentario, duda o crĂtica, y desde aquĂ, solo me queda desearos unas felices fiestas y un prĂłspero año nuevo.
Nos vemos en 2021!! 
Original Post https://jatomas.com/2020/12/23/power-automate-msdyn365fo-fondo-iii/