Cómo usar la función Patch en Power Apps: paso a paso
La función Patch es una de las herramientas más potentes de Power Apps: permite crear y actualizar registros en un origen de datos con control total, campo a campo, sin depender de un formulario automático. Saber cómo usar Patch en Power Apps es esencial cuando necesitas guardar solo algunos campos, escribir en más de una tabla o construir pantallas de edición a medida. A diferencia de SubmitForm, que está ligado a un control de formulario, Patch funciona en cualquier parte de la aplicación.
Requisitos previos
- Una cuenta con acceso a Power Apps para crear una Canvas App.
- Un origen de datos conectado, como una lista de SharePoint o una tabla de Dataverse.
- Conocimientos básicos de controles: pantallas, botones, galerías y cuadros de texto.
Paso 1: Conectar el origen de datos
Abre tu Canvas App y, en el panel Datos, añade el origen donde vas a guardar los registros. En este ejemplo usamos una lista de SharePoint llamada Contactos con tres columnas: Title (el nombre), Email y Telefone. Una vez conectado, el origen queda disponible por su nombre en cualquier fórmula. Añade también tres cuadros de texto a la pantalla y renómbralos como txtNome, txtEmail y txtTelefone para que las fórmulas sean fáciles de leer.
Paso 2: Crear un registro nuevo con Patch y Defaults
Para crear un registro desde cero, combinamos Patch con la función Defaults. Defaults devuelve un registro vacío con los valores predeterminados del origen, y Patch rellena solo los campos que indiquemos. Añade un botón y, en su propiedad OnSelect, escribe:
Patch(
Contactos,
Defaults(Contactos),
{
Title: txtNome.Text,
Email: txtEmail.Text,
Telefone: txtTelefone.Text
}
)
Al pulsar el botón, se crea un elemento nuevo en la lista con los valores de los tres cuadros de texto. Ten en cuenta que los nombres de los campos, a la izquierda de los dos puntos, deben coincidir con los nombres internos de las columnas del origen de datos.
Paso 3: Actualizar un registro existente
Para actualizar, cambiamos Defaults por el registro que queremos modificar. Si el usuario seleccionó una fila en una galería, el registro seleccionado está en Gallery1.Selected. Una gran ventaja de Patch es que solo modifica los campos que envías: todos los demás quedan tal como estaban.
Patch(
Contactos,
Gallery1.Selected,
{ Telefone: txtTelefone.Text }
)
Como alternativa, puedes localizar el registro por su identificador con LookUp. Es práctico cuando guardaste el ID en una variable:
Patch(
Contactos,
LookUp(Contactos, ID = varId),
{ Email: txtEmail.Text }
)
Paso 4: Validar antes de guardar
Antes de guardar, conviene comprobar que los campos obligatorios están rellenados. Usa If con IsBlank para que Patch solo se ejecute cuando los datos sean válidos:
If(
IsBlank(txtNome.Text),
Notify("El nombre es obligatorio.", NotificationType.Error),
Patch(Contactos, Defaults(Contactos), { Title: txtNome.Text })
)
Así evitas registros incompletos y das un mensaje claro al usuario cuando falta información.
Paso 5: Guardar el resultado y dar feedback
La función Patch devuelve el registro que creó o modificó. Guárdalo en una variable con Set para reutilizarlo, por ejemplo para mostrar el ID generado, y avisa al usuario con Notify. Al final, Reset limpia el cuadro de texto para el siguiente registro:
Set(
regGravado,
Patch(Contactos, Defaults(Contactos), { Title: txtNome.Text })
);
Notify("¡Contacto guardado correctamente!", NotificationType.Success);
Reset(txtNome)
Verificar el resultado
Para confirmar que todo salió bien, abre el origen de datos (la lista de SharePoint o la tabla de Dataverse) y comprueba que el registro aparece con los valores correctos. Dentro de la app, añade una galería conectada a Contactos: al guardar, el nuevo elemento aparece de inmediato en la lista, porque Power Apps actualiza el origen automáticamente. Si usaste Notify, deberías ver el mensaje verde de éxito en la parte superior de la pantalla. Si aparece un error de columna, comprueba que los nombres de los campos coinciden con los del origen.
Conclusión
Con Patch tienes control total sobre cómo y cuándo se guardan los datos en Power Apps, algo que los formularios automáticos no siempre permiten. A partir de aquí, prueba a guardar en dos orígenes con el mismo botón, o a usar Patch con una colección para guardar varios registros a la vez. ¿Cuál será la primera pantalla de tu aplicación que vas a simplificar con Patch?