Muy buenas familia. Como no podía ser de otra manera, uso Dynamics 365 CE y Power Platform para mi propio uso personal y para gestionar mi día a día y automatizar todos los procesos que pueda automatizar.
Uno de ellos es el envío semanal del reporte de horas dedicadas a proyectos a cada uno de mis clientes. De esta forma pueden estar al tanto, sin necesidad de que accedan a ningún sitio y sin que tenga que dedicar tiempo a ese trabajo administrativo para enviarles los reportes.
Como freelance, la mayoría de las veces trabajo por bolsas de horas las cuales las gestiono con la funcionalidad estándar de Entitlements (Derechos) en Dynamics 365. Básicamente estos contratos en CRM, se van descontando las horas mediante el total de horas de cada Caso que tenga seleccionado el Derecho, por lo que cada trabajo imputado en una tabla de tiempos, al registrar las horas, se mandan a Casos con todas las actividades de tipo tarea que haya imputado por día. De esta forma se calcula automáticamente las horas dedicadas a cada proyecto.
A partir de ahí viene la siguiente automatización, que es el envío del reporte vía email al responsable de la cuenta.
Lo primero que hago es partir de un Excel a modo de «plantilla» donde tenemos por un lado una pestaña con las tareas realizadas (Timesheet)
Y otra pestaña con el Contrato. Donde viene especificado las horas contratadas, las horas consumidas y las horas restantes.
En Power Automate copio este excel en la carpeta correspondiente del contrato en SharePoint y rellenaremos las tablas con el componente de añadir fila a una tabla. Leo todas las imputaciones y por cada linea relleno.
Hacemos lo mismo para rellenar los datos del contrato que va a tener el total de horas contratadas y las horas imputadas y restantes.
Una vez rellenado, lanzamos una espera de 1 minuto, para que le de tiempo al proceso anterior de finalizar el guardado.
A partir de aqui lanzamos nuestro script el cual nos va a generar la gráfica y las imágenes de la tabla de imputaciones y del contrato.
Con este script lo que hago es generar 3 imágenes, por un lado una gráfica de tipo tarta y las dos tablas de imputaciones y de contrato. En el script recibo un parámetro de entrada que será el título de la gráfica y que mando a través de Power Automate que será el nombre del contrato y las horas totales.
Para generar la gráfica, leo la tabla del contrato y añado un gráfico de tipo PIE donde le establezco el rango, que realmente son las horas consumidas y las horas restantes en las columnas C y D y genero la imagen con getImage().
Por otro lado genero las imágenes de las dos tablas de tiempos y de contrato para enviarlo via mail.
Y por último recupero las imágenes que devuelvo a través del scirpt para ser usadas en el componente de Outlook al enviar el correo.
El componente Ejecutar script, devuelve a través de un array en Result las 3 imágenes del script.
<img src="data:image/png;base64,@{body('Ejecutar_script')?['result']?[0]}">
<img src="data:image/png;base64,@{body('Ejecutar_script')?['result']?[1]}">
<img src="data:image/png;base64,@{body('Ejecutar_script')?['result']?[2]}">
Y finalmente el resultado:
Y por último la tabla con todas las tareas realizadas. Realmente las últimas 20 imputaciones.
Espero que os haya sido de utilidad
Hasta la próxima