6 febrero, 2025

ELIMINAR ELEMENTOS DE UNA GALERÍA DE POWER APPS USANDO UN FLUJO DE POWER AUTOMATE

Hola a todos!!

Como sabéis en Power Apps una forma de mostrar los elementos de nuestra aplicación a los usuarios es utilizando las galerías, y por lo tanto, es de gran utilizad conocer las diferentes forma de eliminar datos dentro de las galerías (algunas ya las hemos visto en esta web).

En este caso vamos a crear un caso práctico en el que vamos a mostrar cómo podemos eliminar de una galería una serie de elementos seleccionados a la vez. La forma de selección son checkboxes marcados. Este sería el ejemplo:

Lo botones que vamos a utilizar son los que he marcado en rojo y como podéis ver, he seleccionado para eliminar 8 elementos, de forma que después de pulsar en el botón que dice «Borrar todos los elementos marcados con Power Automate».

El primer paso en este sentido es crear en ese botón en la propiedad OnSelect:

ClearCollect(
    IDsToDelete;
    Filter(
        Gallery12.AllItems;
        Checkbox4.Value;
        ID
    )
);;
Set(
    ConcatenatedIDs;
    Concat(
        IDsToDelete;
        ID & ","
    )
);;

Es decir, con la primera variable, IDsToDelete filtramos los ID que se corresponden con los elementos marcados en el Checkbox4 y con la siguiente variable, concatenamos estos elementos con una coma como delimitador.

Una vez que hemos creado este primer paso, vamos a crear el flujo de Power Automate y lo vamos a hacer directamente desde Power Apps, pulsando aquí:

Y el primer paso será crear Inicializar la primera variable:

Donde es nombre que voy a utilizar es VarIDs, el tipo será Cadena y el valor nos lo da la salida dinámica:

El siguiente paso es crear la segunda variable como un array:

Nombraré a la variable ArrIDs, el tipo Madriz y el valor lo obtendremos de una expresión:

split(variables('VarIDs'), ',')

y finalmente, añadimos un loop ‘aplicar a cada uno’:

En este último paso la salida que vamos a seleccionar es el array: ArrIDs y añadiremos Eliminar elemento en SharePoint, especificando la dirección del sitio, el nombre de la lista y el identificador, también como un expresión:

int(items('Aplicar_a_cada_uno'))

Y el resultado final es la lista con solo 4 elementos y que son los que se muestran en la galería:

Y en último paso es ponerle nombre a nuestro flujo, que será EliminarElementosDelista

Y ya podemos vincular el proceso al botón, y lo haremos añadiendo la ejecución del flujo con un parámetro (ConcatenatedIDs), que son los ID que hemos almacenado en el array de la segunda variable:

EliminarElementosDeLista.Run(ConcatenatedIDs)

Y finalmente, si queremos refrescar la galería para ver los elementos que se han eliminado, usaremos Refresh:

Refresh('NUEVA LISTA');;

Y esto es todo, espero que sea de utilidad!!

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies