La función Patch de PowerApps es usada para crear y modificar registros en SharePoint. Los valores de campos específicos son modificados sin afectar otras propiedades, por lo que en esta entrada veremos cómo crear registros en una lista de SharePoint usando la función Patch de Power Apps con columnas complejas de SharePoint, como lo son el campo Lookup, el campo User y el campo Choice.
En este ejemplo veremos la implementación paso a paso.
Configuración de la lista de SharePoint
Primero vamos a crear una lista de SharePoint y luego vamos a crear los campos complejos que mencionamos antes.
App para modificar los registros
Iremos a PowerApps > daremos click en Crear > seleccionaremos Aplicación de lienzo en blanco > elegiremos un nombre y seleccionaremos formato. Ahora añadiremos los controles requeridos:
1. Añadiremos etiquetas para Title, fecha_creacion, Lookup, creador y esta_activo
2. Agregaremos un desplegable para los campos Lookup y creador
3. Texto de una sola línea para Title
4. Multilínea para dirección
5. Botón de radio para esta_activo
6. Seleccionador de fecha para fecha_creacion como podemos ver a continuación
Estableceremos la fuente de datos para guardar el registro en la lista de SharePoint.
Iremos a Vista en la pestaña superior > seleccionaremos Fuente de Datos > buscaremos SharePoint > agregaremos conexión > conectar al sitio de SharePoint > seleccionar listas (lista Lookup y la lista en la cual creamos el registro).
Ahora añadiremos otra Fuente de Datos > Usuario Office 365 para añadir usarios en el desplegable de Creador. Lo siguiente será mapear las columnas Lookup, esta_activa y creador de la siguiente forma:
- Creador: Estableceremos las propiedades de objeto > Office365Users.SearchUser() y moveremos las propiedades a la esquina derecha > estableceremos Value – DisplayName
- Lookup: Estableceremos las propiedades de objeto – [Lookup List Name].Title (por ejemplo: Departamento.Titulo)[?]
- esta_activo: Estableceremos las propiedades de objeto – [«Hombre»,»Mujer»]
Modificando los registros.
La sintaxis de Patch que vamos a usar para guardar los registros en una lista de SharePoint es la siguiente:
Patch(datasource,
Defaults(datasource),
{
Column name: value
….
}
)
Guardaremos los registros en la lista de SharePoint usando la función Patch tal y como veremos a continuación:
Patch(columnas_complejas,Defaults(columnas_complejas), { Title : txtName.Text, Direccion: txtAddress.Text, fecha_creacion: DatePicker1.SelectedDate, // Columna de opciones esta_activo: { Value: Radio1.Selected.Value, '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser", }, // Columna de Busqueda busqueda: { Id:Dropdown1.Selected.ID, Value: Dropdown1.Selected.Posicion, '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser" }, // Columna de usuarios creador: { Claims: "i:0#.f|membership|" & Lower(LookUp(Office365Users.SearchUser(),DisplayName=Dropdown2.Selected.DisplayName).Mail), Email:LookUp(Office365Users.SearchUser(),DisplayName=Dropdown2.Selected.DisplayName).Mail, Picture: "", JobTitle: "", Department: "", DisplayName: Dropdown2.Selected.DisplayName, '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser" } } )
Y así es como podemos utilizar Power Apps con la función Patch para guardar registros en SharePoint con columnas complejas, cómo conectar fuentes de datos y cómo mapear controles.
Cualquier duda nos leemos abajo.