Sutilezas de las aplicaciones Power Automate y Logic. Citizen developer'a guía de referencia # 1

¡Buen día a todos! En uno de mis artículos anteriores, hablé sobre las características que tienen los servicios en la nube Power Automate y Logic Apps. Examinamos las principales diferencias entre ellos, estudiamos en qué casos se debería usar uno u otro servicio, y también nos familiarizamos con algunos escenarios de uso. Hoy me gustaría comenzar una nueva serie de artículos dedicados a varios trucos de vida y soluciones alternativas que le permitirán implementar una serie de escenarios comerciales utilizando las herramientas disponibles.



No perdamos tiempo y veamos uno de los escenarios de hoy, a saber:

Inicie la transmisión de Logic Apps por botón desde Power Apps


En algunos casos, durante el diseño y la configuración de varios módulos del sistema, es más rentable usar aplicaciones lógicas que Power Automate. Puede haber muchas razones para esto, pero una de las más populares es la presencia de conectores "premium" en Logic Apps sin comprar planes adicionales, como Power Automate. Por ejemplo, dentro de una transmisión, es posible que deba realizar una llamada de servicio web HTTP y conectarse a SQL Server, pero en Power Automate estos conectores no están disponibles sin comprar un plan especial para usuarios o transmisiones. En este caso, Logic Apps nos ayudará, donde se utiliza un mecanismo de tarifa ligeramente diferente y todos los conectores, incluidos los premium, están disponibles inicialmente. Puede leer más sobre las características de Logic Apps en este artículo .

Sin embargo, hay una característica: la transmisión de Logic Apps no se puede iniciar con un botón desde un formulario o una aplicación de Power Apps, a diferencia de la transmisión de Power Automate. ¿Cómo resolver este problema? De hecho, la solución es bastante simple. Considere este caso como un ejemplo del proceso de solicitud de soporte técnico.

Entonces, en nuestro caso, tenemos una lista de SharePoint de "Aplicaciones de soporte técnico":



además, la lista tiene personalización del formulario usando Power Apps:



Como puede ver, en el encabezado del formulario hay una transición a una pantalla adicional con botones de acción para la aplicación seleccionada:



Haga clic en "Delegar solicitud" y complete los campos adicionales:



Con el botón "Confirmar", es necesario iniciar la transmisión de Logic Apps, pero no tenemos la capacidad de llevar a cabo esta operación directamente. Por lo tanto, intentaremos hacerlo un poco diferente.

Cree una Lista de acciones adicional en el sitio de SharePoint y agregue varios campos:

  1. ActionType - tipo de acción para llamar
  2. Comentarios - Comentarios
  3. ParentItemID: identificador del elemento primario (aplicación)
  4. DelegateTo: campo adicional para almacenar el delegado
  5. CompleteProcessFlag - indicador de procesamiento de acciones



Ahora, desde PowerApps, creamos un elemento en la lista ActionsList haciendo clic en el botón "Confirmar":



Usando la función Patch, cree un nuevo elemento en la lista ActionsList con el tipo "Delegate" y transfiera los valores de control restantes del formulario. Verifique que se haya creado el elemento:



ahora podemos ir a Aplicaciones lógicas. Vamos a Azure, creamos una nueva secuencia de Logic Apps y especificamos el activador "Al crear un elemento en la lista de SharePoint":



Realizamos la secuencia con el interruptor:



La lógica de esta secuencia es la siguiente:

Al crear un elemento en la lista ActionsList, el flujo aumenta, verifica el valor del campo "Tipo de acción" del nuevo elemento y, según el tipo de acción, va a una de las ramas del conmutador donde se procesa la lógica requerida. Por lo tanto, podemos hacer tantas ramas como desee para el cambio en un hilo y procesar cualquier evento dentro del mismo hilo. Todo lo que queda es crear elementos con los tipos de eventos necesarios en la lista ActionsList y agregar soporte para estos tipos a la secuencia, en forma de ramas de conmutador adicionales.
Hagamos otra creación de eventos desde PowerApps, por ejemplo, para cancelar una aplicación:



En este caso, aparecerá un nuevo evento en la lista ActionsList con el tipo "Rechazar" y comentarios para la cancelación. Asegúrese de pasar el valor del identificador del elemento primario, de lo contrario será muy problemático encontrar el orden requerido de la secuencia más adelante. A continuación, agregue soporte para el nuevo tipo de evento en la secuencia de Logic Apps. Hacemos una rama más en el cambio:



y queda por agregar al final de la secuencia una actualización de la marca de procesamiento, para comprender qué eventos son procesados ​​por nuestra secuencia y cuáles no:



Esta bandera ayudará en caso de situaciones imprevistas durante las cuales el procesamiento del evento por el hilo no tiene éxito. Será posible crear un hilo que, por ejemplo, subirá dos veces al día de acuerdo con un cronograma y procesará eventos en la lista ActionsList, cuyo indicador "CompleteProcessFlag" es No.

El mecanismo descrito en este artículo se ha implementado con éxito y funciona de manera estable para varios clientes. En conclusión, me gustaría decir que hay muchas características interesantes en Power Platform que pueden no ser visibles a primera vista, pero pueden ser muy útiles para implementar varios casos. En los siguientes artículos intentaré mostrarte aún más posibilidades. ¡Muchas gracias por su atención!

All Articles