Hola a todos!.
El de hoy es un post importante, la razón es que sabiendo mover elementos entre listas de SharePoint y eliminarlos utilizando con Power Apps, ya tenéis andado una buena parte del camino para dominar la herramienta.
Vamos a comenzar con un ejemplo, para ello he creado dos listas en SharePoint:

PERSONAS es con la que siempre trabajo en los ejemplos y que tiene 197 registros, con el personal de unos grandes almacenes. Y la otra está vacía y se llama NUEVA LISTA.
Lo que vamos a hacer es seleccionar elementos de la lista PERSONAS para pasarlos a NUEVA LISTA, tenéis que tener en cuenta que ambas listas deben tener los mismos campos que vamos a pasar de la una a la otra. En este ejemplo, son los mismos campos tanto en una lista como en la otra, aunque lo importante es los que pasemos de una a la otra sean los mismos.
El próximo paso es crear una pequeña aplicación en Power Apps que nos permita hacerlo. Y para eso crearemos dos galerías y cargaremos en cada una una lista:

Y ahora vamos a ir programando cada elemento para que funcione correctamente.
En primer lugar vamos a programar lo que debemos incluir en el botón que pone: ENVIAR A NUEVA LISTA
En este botón cuando lo pulsemos si no hay nombres con el checkbox marcado nos mostrará una señal de advertencia de que no hemos marcado nada. Si está marcado pasará los elementos seleccionados a la nueva lista y el check box se desmarcará.
Bien, este es el código completo que se debe pegar en la propiedad OnSelect del botón (obviamente tendréis que darle el nombre que tengáis en lugar de checkbox 5 de la galería 7.
//Verificamos que existen elementos seleccionados
If(
!Checkbox5.Value;
//si no están seleccionados mostramos advertencia y salimos de la condición
Notify(
"NO HAS SELECCIONADO A NINGUNA PERSONA";
NotificationType.Warning
);
//si existen elementos seleccionados, los filtramos y los pasamos con un loop a la NUEVA LISTA
Patch(
'NUEVA LISTA';
ForAll(
Filter(
Gallery7.AllItems;
Checkbox5.Value
);
{
INDICE: INDICE;
'NOMBRE COMPLETO': 'NOMBRE COMPLETO';
SECCION: SECCION;
EDAD: EDAD;
SEXO: SEXO;
IDIOMA: IDIOMA;
ESTUDIOS: ESTUDIOS
}
)
);;
//desmarcamos los checkbox seleccionados
Set(
Resetear;
false
);;
Set(
Resetear;
true
);;
)
Os he comentado en cada parte de la condición qué es lo que hace el código. Sin embargo queda una cosa importante por hacer, debemos incluir en el checkbox5 el nombre de la variable que hemos creado para desmarcarlo: RESETEAR
Para ello seleccionamos el primer checkbox de la galería7 y en la propiedad Reset incluimos nuestra variable Resetear:
Así:

Y ahora ya podemos pasar los elementos a la segunda lista, nueva lista:

Funciona perfectamente!. Pero qué sucede si os habéis equivocado y queréis eliminar un elemento de la NUEVA LISTA?. Pues lo podéis eliminar con la función RemovIf().
Yo he usado el icono de la papelera pero podéis usar el que más se adecúe a vuestro proyecto. En la propiedad OnSelect del icono pondremos los siguiente:
RemoveIf(
'NUEVA LISTA';
ThisItem.ID = ID
)

Obviamente si existen otros usuarios que acceden a las galerías, os recomiendo filtrar la visualización de datos según algún tipo de perfilado, por ejemplo el User del equipo.
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.
¡¡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