Aislar problemas en aplicaciones de lienzo
Las aplicaciones de lienzo le 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. 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.
Inspeccionar 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. Le 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 de lista desplegable están en blanco.
Compruebe si el cuadro Combinado está configurado correctamente. Por ejemplo, la propiedad Items se establece en una fórmula compleja a continuación:
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 esperado:
"Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
- Compruebe los resultados combinando 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 Data 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 de forma metódica, puede averiguar qué parte de una expresión compleja no funciona.
Cuando use 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, basta con examinar cualquier registro. Vamos a elegir el primer registro y a 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. Descándalo como se describió anteriormente para restringirlo. 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 tratarse de 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.
Probar un control diferente
Para averiguar si el problema está con un control específico, pruebe a 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
- Image
- Propiedad Image de Audio, Vídeo y Micrófono
Número
Texto
Todos los tipos
- Etiqueta, después de convertir un valor en texto
Si se produce el mismo problema en un control diferente, el problema se produce con las fórmulas o el origen de datos utilizado. 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 se trate de un error de control. Puede notificar el error a Microsoft.
Prueba de una estructura de aplicación diferente
Las fórmulas pueden comportarse de manera 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. Los controles fuera de una galería o un componente no pueden hacer referencia a los controles dentro.
Esta visibilidad diferente de los identificadores se denomina ámbito. Los controles que contienen otros controles presentan un nuevo ámbito.
- Componente
- Container
- Formulario de presentación
- Formulario de edición
- Galería
- Contenedor horizontal
- Pantalla desplazable (cuadrícula fluida)
- 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 se establece en ThisItem.Name
.
Gallery.Items está establecido 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 trate de un error de ámbito con Power Apps que puede 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
- Consulte los datos de variables globales o de contexto.
- Usar revisión para evitar el uso de un control Editar formulario
Restauración 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 qué 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 volver 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 la aplicación que no son evidentes con una aplicación compleja. Incluso si el problema no se ha corregido, se habría reducido la causa y se facilitaría la explicación del problema a otros usuarios.
Pasos siguientes
Depuración de aplicaciones de lienzo con Monitor