Materias · 🏛️ Universidad y trabajo

Low-code (Power Apps, AppSheet)

Ejercicios resueltos de Low-code (Power Apps, AppSheet) paso a paso, con el error que más se comete en cada uno: Delegación en Power Apps, AppSheet: Security Filter frente a Slice y más. Gratis y en español.

Preguntarle al tutor de Low-code (Power Apps, AppSheet)

Sin instalar nada. Puedes probar antes de crear cuenta.

Ejercicios resueltos de Low-code (Power Apps, AppSheet)

Resueltos paso a paso, como te los explicaría el tutor, y con el error que más se comete.

Delegación en Power Apps

Una app de Power Apps muestra los 12.000 productos de una bodega en Bogotá desde una lista de SharePoint. La galería usa Filter(Productos, TextoBusqueda in Titulo) y solo encuentra productos de los primeros 500 registros; el estudio muestra la advertencia azul de delegación. ¿Qué pasa y cómo se arregla?

Cómo se resuelve

  1. 1Power Apps no se trae la tabla completa al dispositivo: le pide al origen de datos que filtre y le devuelva el resultado. A eso se le llama delegación, y es lo que permite trabajar con tablas grandes desde un celular.
  2. 2La delegación solo funciona si la función usada existe también del lado del origen. Cuando no existe, Power Apps hace lo único que puede: se trae los primeros registros (500 por defecto, 2.000 como máximo) y filtra localmente. Los productos que faltan no están escondidos: nunca llegaron al dispositivo.
  3. 3El operador `in` no es delegable en SharePoint, y ese es exactamente el caso. Por eso la advertencia y por eso el corte en 500.
  4. 4StartsWith sí es delegable en SharePoint. Cambiando a Filter(Productos, StartsWith(Titulo, TextoBusqueda)) el filtrado lo hace el servidor y la búsqueda recorre los 12.000 registros sin advertencia.
  5. 5Si el requisito real es buscar por el centro del texto («tornillo» dentro de «Caja de tornillo galvanizado»), ninguna función delegable de SharePoint lo hace. Ahí hay dos salidas honestas: mover los datos a Dataverse o SQL Server, donde el conjunto de funciones delegables es mayor, o agregar una columna calculada que permita buscar con StartsWith por lo que la gente de verdad escribe.
  6. 6Se verifica al final que la advertencia desapareció y se prueba con un producto que esté al final de la lista, no con uno de los primeros.

Respuesta: El operador `in` no es delegable en SharePoint, así que la app filtra solo los primeros 500 registros que alcanzó a traer. Se cambia por StartsWith, que sí delega, o se mueve el origen a Dataverse o SQL si hace falta buscar por el centro del texto.

El error de siempre: Subir el límite de registros no delegables de 500 a 2.000 en la configuración de la app y dar el tema por cerrado porque en la prueba ya aparece todo. Con 12.000 registros el problema sigue intacto, y vuelve en silencio: la app no muestra ningún error, simplemente no encuentra. Un usuario concluye que el producto no existe y lo vuelve a pedir al proveedor.

AppSheet: Security Filter frente a Slice

Una app de AppSheet la usan 30 vendedores de una distribuidora en Cali y cada uno debe ver solo sus clientes. El desarrollador creó un Slice con la condición [Vendedor] = USEREMAIL() y armó la vista sobre ese Slice. Al probar con su cuenta ve solo sus clientes. ¿Están protegidos los datos?

Cómo se resuelve

  1. 1Hay que separar dos momentos que la prueba visual confunde: qué se descarga al dispositivo durante la sincronización, y qué se muestra en la pantalla. Son controles distintos y se configuran en lugares distintos.
  2. 2Un Slice actúa sobre el segundo momento: filtra lo que la vista muestra. No impide que el dato haya bajado. Con esta configuración, la tabla completa se sincroniza al celular de cada vendedor y los clientes de los otros 29 quedan guardados en el archivo local de la app, aunque no se vean en pantalla.
  3. 3El control que actúa sobre el primer momento es el Security Filter de la tabla (Data > Tables > Security Filter). Lo que no pasa ese filtro no se descarga nunca. Se pone ahí la misma expresión: [Vendedor] = USEREMAIL().
  4. 4Para que USEREMAIL() signifique algo hay que exigir inicio de sesión (Require user sign-in). Sin autenticación obligatoria la expresión no identifica a nadie y el filtro no filtra.
  5. 5El Slice puede quedarse, pero para lo que sirve: organizar vistas, por ejemplo mostrar solo los clientes con visita pendiente. La seguridad ya no depende de él.
  6. 6Efecto secundario que conviene mencionarle al cliente: con Security Filter cada vendedor baja una fracción de los datos, así que la sincronización es mucho más rápida y la app deja de pesar en el celular.

Respuesta: No están protegidos. El Slice solo filtra la vista; la tabla completa se sincroniza al dispositivo. La protección real es el Security Filter de la tabla, con inicio de sesión obligatorio.

El error de siempre: Dar la seguridad por probada porque uno abrió la app con su propia cuenta y vio solo lo suyo. Eso confirma que la vista filtra, que es justo lo que no estaba en duda. La prueba que sí dice algo es mirar el tamaño de la sincronización o el detalle de la tabla descargada: si baja lo mismo para todos los usuarios, el dato está en todos los dispositivos y el filtro es cosmético.

¿Y si tu ejercicio no es ninguno de estos?

No hace falta buscar el ejercicio exacto en internet. Trae el tuyo, o pide los que te falten.

Todo esto es gratis y sin instalar nada. Puedes probar antes de crear cuenta.

Lo que cubre

  • Delegación en Power Apps
  • AppSheet: Security Filter frente a Slice

Preguntas que le puedes hacer

  • Delegación en Power A…Explícame «Delegación en Power Apps» con un ejemplo práctico y dime en qué suele equivocarse la gente.
  • AppSheet: Security Fi…Explícame «AppSheet: Security Filter frente a Slice» con un ejemplo práctico y dime en qué suele equivocarse la gente.

Cómo enseña este tutor

Es riguroso y completo: justifica cada paso y nombra el teorema, la norma o la buena práctica que está aplicando, para que puedas citarla en tu trabajo o en el parcial.

  • · Te muestra el camino completo, no solo el resultado.
  • · Si algo no te cuadra, te lo explica otra vez de otra manera.
  • · Con una foto de tu cuaderno te dice dónde está el error.
  • · Te arma quizzes de lo que acabas de ver para saber si de verdad quedó.

Otras materias de Universidad y trabajo