Aislamiento de problemas en aplicaciones de lienzo
Las aplicaciones de lienzo permiten diseñar aplicaciones con numerosos objetos visuales diferentes y varias conexiones de datos. Use IntelliSense y el comprobador de aplicaciones como protección contra problemas comunes. El monitor y el panel Variables pueden ayudarle con la depuración.
Estas son algunas otras técnicas para aislar problemas en una aplicación de lienzo.
Inspección de fórmulas con etiquetas de depuración
Las fórmulas pueden ser complejas. Cuando las cosas van mal, puede ser difícil identificar qué parte falló. Las etiquetas de depuración son una técnica útil para ver los resultados de diferentes partes de una fórmula.
Una etiqueta de depuración es una etiqueta con su propiedad Text establecida en una fórmula de interés. Permite ver exactamente cómo Power Apps trata estas fórmulas. Para evitar errores de ámbito, inserte la etiqueta de depuración fuera de otros controles, como Galería y Formulario.
Imagine que un control cuadro combinado muestra menos de lo esperado y las opciones desplegables están en blanco.
Compruebe si el cuadro combinado está configurado correctamente. Por ejemplo, la propiedad Items se establece en una fórmula compleja siguiente:
AddColumns(
GroupBy(
Filter( Products, Rating > 4 ),
"ProductType",
"Details"
),
"Total quantity",
Sum( Details, Quantity )
)
Comience con la expresión Filter( Products, Rating > 4 )
más interna. Inserte una etiqueta de depuración y establezca su propiedad Text para probar el resultado de esa expresión. Información útil para comprobar:
- Compruebe si el número de resultados es el esperado:
CountRows( Filter( Products, Rating > 4 ) )
- Examine el primer resultado y compruebe que el filtro funciona según lo previsto:
"Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
- Para comprobar los resultados, combine sus nombres:
Concat( Filter( Products, Rating > 4 ), ProductName & ", ")
Sugerencia
Al trabajar con conjuntos de datos, las tablas de depuración son útiles para obtener una vista previa de los registros. El concepto es similar a las etiquetas de depuración. Inserte una tabla de datos con su propiedad Items establecida en el conjunto de datos de interés.
Es posible que quiera usar las funciones FirstN y LastN para mejorar el rendimiento con los conjuntos de datos.
Una vez que haya confirmado que una expresión se evalúa correctamente, puede pasar a la siguiente expresión GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )
externa . Al continuar con métodos, puede averiguar qué parte de una expresión compleja no funciona.
Al usar opciones desplegables vacías, comience con la propiedad DisplayFields . Imagine que está establecido en [ProductType]
. Use una etiqueta de depuración para comprobar que Power Apps reconoce este campo y contiene texto. Puesto que todas las opciones desplegables están vacías, es suficiente examinar cualquier registro. Vamos a elegir el primer registro y ver cuál es su ProductType
campo. Establezca la etiqueta de depuración en:
First(
AddColumns(
GroupBy(
Filter( Products, Rating > 4 ),
"ProductType",
"Details"
),
"Total quantity",
Sum( Details, Quantity )
)
).ProductType
Si el resultado está vacío, podría ser:
- El
ProductType
campo de ese registro realmente está vacío. Si el conjunto de datos procede de fuera de la aplicación, compruébalo fuera de Power Apps. - Una o varias de las expresiones no funcionan. Divida como se ha descrito anteriormente para reducir. Podría ser un error de Power Apps o un error al escribir la fórmula.
- Los datos no llegan a Power Apps. Podría ser un problema de red, un problema con el origen de datos o un error de Power Apps.
Si el resultado tiene texto, es probable que se produzca un error de Power Apps con el control . Puede notificar el error a través de una solicitud de soporte técnico y usar un control diferente como solución alternativa.
Prueba de un control diferente
Para averiguar si el problema está con un control específico, intente usar un control diferente que tenga el mismo tipo de datos de entrada o salida.
Booleano
Elección y tabla
Date y DateTime
Imagen y medios
- Texto HTML
- Imagen
- Propiedad Image de Audio, Vídeo y Micrófono
Number
Text
Todos los tipos
- Etiqueta, después de convertir un valor en texto
Si se produce el mismo problema en un control diferente, el problema es con las fórmulas o el origen de datos usado. Continúe con los pasos de depuración anteriores para aislar aún más el problema.
Si el problema solo se produce en un tipo determinado de control, es probable que sea un error de control. Puede notificar el error a Microsoft.
Prueba de una estructura de aplicación diferente
Las fórmulas pueden comportarse de forma diferente para los controles dentro de otro control. Por ejemplo, los controles dentro de una galería pueden usar ThisItem , pero los controles fuera de la galería no pueden. Los controles fuera de una galería o componente no pueden hacer referencia a los controles dentro.
Esta visibilidad diferente de los identificadores se denomina ámbito. Los controles que contienen otros controles introducen un nuevo ámbito.
- Componente
- Contenedor
- Mostrar formulario
- Editar formulario
- Galería
- Contenedor horizontal
- Scrollable screen (Fluid grid)
- Contenedor vertical
Si una fórmula no funciona dentro de un control independiente, podría estar relacionada con el ámbito. Pruebe a usar la misma fórmula fuera del contenedor.
Por ejemplo, un control Label dentro de una Galería debe mostrar el nombre de cada registro, pero no aparece ningún texto. Label.Text está establecido en ThisItem.Name
. Gallery.Items se establece en Products
.
Para comprobar si se trata de un problema de ámbito, inserte una etiqueta de depuración fuera de la Galería, en el nivel superior de la aplicación. Establezca su propiedad Text para mostrar el nombre del primer registro del conjunto de datos: First(Products).Name
.
La etiqueta de depuración debe tener el mismo resultado que la primera fila de la galería. Si no es así, es probable que se produzca un error de ámbito con Power Apps que pueda notificar a través de una solicitud de soporte técnico. Por otro lado, si ambos están en blanco, el problema podría ser con el origen de datos.
Algunas posibles soluciones alternativas para determinar el ámbito de los problemas:
- Mover controles fuera de sus contenedores
- Hacer referencia a datos en variables globales o de contexto
- Usar patch para evitar el uso de un control Editar formulario
Restaurar a una versión anterior
Si no ha realizado cambios importantes en una aplicación y de repente dejó de funcionar después de volver a publicarla, intente restaurarla a la versión anterior. Si funciona de nuevo, examine los cambios realizados para ver lo que podría haber roto la aplicación.
A veces, se pueden introducir errores con nuevas versiones de Power Apps. Por el contrario, las nuevas versiones pueden traer correcciones de errores. Soporte técnico de Microsoft puede recomendar si debe revertir a una versión de creación anterior o actualizar a una más reciente. Recuerde que hay compatibilidad limitada con versiones no recomendadas si cambia la versión de creación por su cuenta.
Creación de una aplicación de reproducción mínima
El proceso de creación de una aplicación de reproducción mínima puede descubrir errores de configuración de aplicaciones que no son obvios con una aplicación compleja. Incluso si el problema no se ha corregido, habría reducido la causa y facilitaría la explicación del problema a los demás.
Pasos siguientes
Depurar aplicaciones de lienzo con Monitor