Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Aplicaciones de Canvas
Obtenga información sobre la aplicación que se está ejecutando actualmente y controle el comportamiento de la aplicación.
Description
Al igual que un control, el objeto App tiene propiedades que identifican qué pantalla se muestra y le pide que guarde los cambios para que no los pierda. Cada aplicación tiene un objeto App.
Escriba fórmulas para algunas propiedades del objeto App . En la parte superior del panel Vista de árbol, seleccione el objeto App como lo haría con cualquier otro control o pantalla. Para ver o editar una de las propiedades del objeto, selecciónela en la lista desplegable situada a la izquierda de la barra de fórmulas.
En este artículo se describen las siguientes propiedades de objeto de aplicación :
- ActiveScreen : la pantalla que se muestra actualmente.
- BackEnabled : cómo responde la aplicación al gesto atrás del dispositivo.
- ConfirmExit y ConfirmExitMessage : advierte al usuario antes de cerrar la aplicación.
- Cadena de conexión : configure el registro de Application Insights.
- Fórmulas : defina fórmulas con nombre, funciones definidas por el usuario y tipos definidos por el usuario.
- OnError : controla los errores globalmente.
- OnStart : ejecute lógica cuando se inicie la aplicación.
- StartScreen : establezca la pantalla que se muestra primero cuando se cargue la aplicación.
- StudioVersion: devuelve la versión de Power Apps Studio que publicó la aplicación.
Propiedad ActiveScreen
La propiedad ActiveScreen identifica la pantalla que se muestra actualmente.
Esta propiedad devuelve un objeto de pantalla. Úselo para hacer referencia a las propiedades de la pantalla actual, como el nombre con la fórmula App.ActiveScreen.Name. También puede comparar esta propiedad con otro objeto de pantalla, como con la fórmula de comparación App.ActiveScreen = Screen2 para comprobar si Screen2 es la pantalla actual.
Use la función Back o Navigate para cambiar la pantalla que se muestra.
Propiedad BackEnabled
La propiedad BackEnabled cambia la forma en que la aplicación responde al gesto atrás del dispositivo (desliza el dedo o usa el botón Atrás de hardware en dispositivos Android o desliza el dedo de la izquierda en dispositivos iOS) cuando se ejecuta en Power Apps mobile. Cuando se habilita, el gesto atrás del dispositivo vuelve a la pantalla que se mostró más recientemente, que es similar a la fórmula Atrás . Cuando está deshabilitado, el gesto atrás del dispositivo lleva al usuario a la lista de aplicaciones.
Propiedades ConfirmExit
Nadie quiere perder los cambios no guardados. Usa las propiedades ConfirmExit y ConfirmExitMessage para advertir al usuario antes de cerrar la aplicación.
Nota:
- ConfirmExit no funciona en aplicaciones insertadas en, por ejemplo, Power BI y SharePoint.
- ConfirmExit no se admite en páginas personalizadas.
- Ahora, estas propiedades solo pueden hacer referencia a controles en la primera pantalla si la característica Vista previa de carga retrasada está habilitada (que es de forma predeterminada para las nuevas aplicaciones). Si hace referencia a otras pantallas, Power Apps Studio no muestra un error, pero la aplicación publicada no se abre en Power Apps Mobile ni en un explorador. Microsoft está trabajando para elevar esta limitación. Mientras tanto, desactive La carga retrasada en Configuración>Próximas características (en versión preliminar).
ConfirmExit
ConfirmExit es una propiedad booleana que, cuando es true, abre un cuadro de diálogo de confirmación antes de que se cierre la aplicación. De forma predeterminada, esta propiedad es false, y no aparece ningún cuadro de diálogo.
Cuando el usuario pueda tener cambios no guardados en la aplicación, use esta propiedad para mostrar un cuadro de diálogo de confirmación antes de salir de la aplicación. Utilice una fórmula que compruebe las variables y las propiedades de control (por ejemplo, la propiedad Unsaved del control Editar formulario ).
El cuadro de diálogo de confirmación aparece en cualquier situación en la que se puedan perder datos, como:
- Ejecute la función Exit .
- Si la aplicación se ejecuta en un explorador:
- Cierre el explorador o la pestaña del explorador donde se ejecuta la aplicación.
- Seleccione el botón Atrás del explorador.
- Ejecute la función Launch con launchTarget of Self.
- Si la aplicación se ejecuta en Power Apps Mobile (iOS o Android):
- Deslice el dedo para cambiar a otra aplicación en Power Apps Mobile.
- Seleccione el botón Atrás en un dispositivo Android.
- Ejecute la función Launch para iniciar otra aplicación de lienzo.
El aspecto exacto del cuadro de diálogo de confirmación puede variar en todos los dispositivos y versiones de Power Apps.
El cuadro de diálogo de confirmación no se muestra en Power Apps Studio.
ConfirmExitMessage
De manera predeterminada, el cuadro de diálogo de confirmación muestra un mensaje genérico, como "Es posible que tenga cambios no guardados" en el idioma del usuario.
Use ConfirmExitMessage para proporcionar un mensaje personalizado en el cuadro de diálogo de confirmación. Si esta propiedad es blank, se usa el valor predeterminado. Los mensajes personalizados se truncan según sea necesario para ajustarse al cuadro de diálogo de confirmación, por lo que debe mantener el mensaje en unas pocas líneas como máximo.
En un explorador, el cuadro de diálogo de confirmación puede mostrar un mensaje genérico desde el explorador.
Example
Establezca la propiedad ConfirmExit del objeto App según esta expresión:
AccountForm.Unsaved Or ContactForm.UnsavedEl cuadro de diálogo aparece si el usuario cambia los datos de cualquier formulario y, a continuación, intenta cerrar la aplicación sin guardar esos cambios.
Establezca la propiedad ConfirmExitMessage del objeto App según esta fórmula:
If( AccountForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )El cuadro de diálogo muestra un mensaje específico del formulario cuando el usuario cambia los datos de cualquier formulario y, a continuación, intenta cerrar la aplicación sin guardar esos cambios.
Propiedad de cadena de conexión
Use la propiedad Cadena de conexión para exportar registros de aplicaciones generados por el sistema a Application Insights.
Para establecer el cadena de conexión:
- Abra su aplicación para editarla en Power Apps Studio.
- Seleccione el objeto Aplicación en la vista de árbol de navegación izquierda.
- Escriba la cadena de conexión en el panel de propiedades.
Si los datos no se envían a Application Insights, póngase en contacto con el administrador de Power Platform y compruebe si Application Insights está deshabilitado en el nivel de inquilino.
Propiedad de fórmulas
Use la propiedad Formulas para definir la lógica reutilizable en la aplicación. La propiedad Formulas admite tres construcciones:
- Fórmulas con nombre: asigne un nombre a una fórmula y reutilice el valor en toda la aplicación.
- Funciones definidas por el usuario : fórmulas con nombre que toman parámetros y devuelven un valor.
- Tipos definidos por el usuario : tipos con nombre que puede reutilizar en fórmulas y firmas de función.
Fórmulas con nombre
Usa fórmulas con nombre en la propiedad Formulas para definir una fórmula que puedes reutilizar en toda la aplicación.
En Power Apps, las fórmulas determinan el valor de las propiedades de control. Por ejemplo, para establecer el color de fondo de forma coherente en una aplicación, establezca la propiedad Fill para cada control en una fórmula común:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Con tantos lugares donde aparece esta fórmula, se vuelve tedioso y propenso a errores actualizarlos todos si se necesita un cambio. En su lugar, cree una variable global en OnStart para establecer el color una vez y, a continuación, vuelva a usar el valor en toda la aplicación:
App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Si bien este método es mejor, también depende de OnStart corriendo antes del valor para BGColor está establecido. BGColor también puede ser manipulado en algún rincón de la aplicación que el creador desconoce, un cambio realizado por otra persona, y que puede ser difícil de rastrear.
Las fórmulas con nombre proporcionan una alternativa. Al igual que normalmente escribe control-property = expresión, puede escribir el nombre = expresión y, a continuación, reutilizar el nombre en toda la aplicación para reemplazar la expresión. Defina estas fórmulas en la propiedad Formulas :
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Las ventajas de usar fórmulas con nombre incluyen:
- El valor de la fórmula siempre está disponible. No hay dependencia de tiempo, no OnStart que debe ejecutarse primero antes de que se establezca el valor, ningún momento en el que el valor de la fórmula sea incorrecto. Las fórmulas con nombre pueden hacer referencia entre sí en cualquier orden, siempre que no creen una referencia circular. Se pueden calcular en paralelo.
- El valor de la fórmula siempre está actualizado. La fórmula puede realizar un cálculo que depende de las propiedades del control o de los registros de la base de datos y, a medida que cambian, el valor de la fórmula se actualiza automáticamente. No necesita actualizar manualmente el valor como lo hace con una variable. Y las fórmulas solo se vuelven a calcular cuando es necesario.
- La definición de la fórmula es inmutable. La definición de Fórmulas es la única fuente de verdad y el valor no se puede cambiar en ningún otro lugar de la aplicación. Con las variables, es posible que algún código cambie inesperadamente un valor, pero esta situación difícil de depurar no es posible con fórmulas con nombre.
- El cálculo de la fórmula se puede diferir. Debido a que su valor es inmutable, siempre se puede calcular cuando sea necesario, lo que significa que no es necesario calcularlo hasta que sea necesario. Valores de fórmula que no se utilizan hasta screen2 de una aplicación que se muestra no es necesario calcular hasta que screen2 esté visible. Aplazar este trabajo puede mejorar el tiempo de carga de la aplicación. Las fórmulas con nombre son declarativas y brindan oportunidades para que el sistema optimice cómo y cuándo se calculan.
- Las fórmulas con nombre son un concepto de Excel. Power Fx utiliza conceptos de Excel siempre que sea posible, ya que muchas personas conocen bien Excel. Las fórmulas con nombre son el equivalente de las celdas con nombre y las fórmulas con nombre en Excel, administradas con el Administrador de nombres. Se vuelven a calcular automáticamente como celdas de una hoja de cálculo, al igual que lo hacen las propiedades de control.
Defina fórmulas con nombre una después de otra en la propiedad Formulas , cada una de las cuales termina con un punto y coma. El tipo de la fórmula se deduce de los tipos de los elementos dentro de la fórmula y cómo se usan juntos. Por ejemplo, estas fórmulas con nombre recuperan información útil sobre el usuario actual de Dataverse:
UserEmail = User().Email;
UserInfo = LookUp( Users, 'Primary Email' = User().Email );
UserTitle = UserInfo.Title;
UserPhone = Switch( UserInfo.'Preferred Phone',
'Preferred Phone (Users)'.'Mobile Phone', UserInfo.'Mobile Phone',
UserInfo.'Main Phone' );
Si la fórmula de UserTitle debe actualizarse, puede actualizarla fácilmente en esta ubicación. Si UserPhone no es necesario en la aplicación, entonces no se realizan estas llamadas a la tabla Users de Dataverse. No hay penalización por incluir una definición de fórmula que no se usa.
Algunas limitaciones de las fórmulas con nombre:
- No pueden usar funciones de comportamiento ni causar efectos secundarios dentro de la aplicación.
- No pueden crear una referencia circular. Tener a = b; y b = a; en la misma aplicación no está permitido.
Funciones definidas por el usuario
Power Fx incluye una larga lista de funciones integradas, como If, Text, y Set. Mediante el uso de funciones definidas por el usuario, puede escribir sus propias funciones que toman parámetros y devuelven un valor, al igual que las funciones integradas. Piense en las funciones definidas por el usuario como una extensión en fórmulas con nombre que agrega parámetros y admite fórmulas de comportamiento.
Por ejemplo, puede definir una fórmula con nombre que devuelva libros de ficción de una biblioteca:
Library = [ { Title: "The Hobbit", Author: "J. R. R. Tolkien", Genre: "Fiction" },
{ Title: "Oxford English Dictionary", Author: "Oxford University", Genre: "Reference" } ];
LibraryFiction = Filter( Library, Genre = "Fiction" );
Sin parámetros, debe definir fórmulas con nombre independientes para cada género. Pero en su lugar, parametrice la fórmula con nombre:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Ahora puede llamar a LibraryGenre( "Fiction" ), LibraryGenre( "Reference" )o filtrar por otros géneros mediante una única función definida por el usuario.
La sintaxis es:
NombreDeFunción( [ NombreParámetro1: TipoParámetro1 [ , NombreParámetro2: TipoParámetro2 ... ] ] ) : Fórmula ReturnType = ;
- FunctionName – Obligatorio. Nombre de la función definida por el usuario.
- ParameterNames – Opcional. Nombre de un parámetro de función.
- ParameterType(s) – Opcional. El nombre de un tipo, ya sea un nombre de tipo de datos integrado, un nombre de origen de datos o un tipo definido mediante la función Type .
- ReturnType: obligatorio. Tipo del valor devuelto por la función.
- Fórmula – Obligatoria. La fórmula que calcula el valor de la función en función de los parámetros.
Debe escribir cada parámetro y la salida de la función definida por el usuario. En este ejemplo, SelectedGenre: Text define el primer parámetro para la función que va a ser de tipo Text y SelectedGenre es el nombre del parámetro que se usa en el cuerpo para la operación Filter. Consulte Tipos de datos para los nombre de tipo admitidos. La función Type se usa para crear un tipo de agregado para la biblioteca, de modo que pueda devolver una tabla de libros de la función.
Se define LibraryType como una tabla plural de tipo de registros. Si desea pasar un solo libro a una función, puede extraer el tipo de registro de esta tabla mediante la función RecordOf:
BookType := Type( RecordOf( LibraryType ) );
IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);
La coincidencia de registros para los parámetros de función es más estricta que en otras partes de Power Fx. Los campos de un valor de registro deben ser un subconjunto adecuado de la definición de tipo y no pueden incluir campos adicionales. Por ejemplo, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) se produce un error.
La recursividad aún no es compatible con las funciones definidas por el usuario.
Comportamiento de las funciones definidas por el usuario
Las fórmulas con nombre y la mayoría de las funciones definidas por el usuario no admiten funciones de comportamiento con efectos secundarios, como Set o Notify. En general, evite actualizar el estado si puede. En su lugar, confíe en patrones de programación funcionales y permita que Power Fx vuelva a calcular las fórmulas según sea necesario automáticamente. Pero hay casos en los que es inevitable. Para incluir lógica de comportamiento en una función definida por el usuario, envuelva el cuerpo entre llaves:
Spend( Amount: Number ) : Void = {
If( Amount > Savings,
Error( $"{Amount} is more than available savings" ),
Set( Savings, Savings - Amount );
Set( Spent, Spent + Amount)
);
}
Ahora puedes llamar Spend( 12 ) a para comprobar si tienes 12 en tus Ahorros y, si es así, adíguelo por 12 y agregue 12 a la variable Spent. El tipo de retorno de esta función es Void, ya que no devuelve ningún valor.
La sintaxis de una función de comportamiento definida por el usuario es:
FunctionName( [ ParameterName1: ParameterType1 [ , ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Formula1 [ ; Fórmula2 ... ] };
- FunctionName – Obligatorio. Nombre de la función definida por el usuario.
- ParameterNames – Opcional. Nombre de un parámetro de función.
- ParameterType(s) – Opcional. El nombre de un tipo, ya sea un nombre de tipo de datos integrado, un nombre de origen de datos o un tipo definido con la función Type.
- ReturnType: obligatorio. Tipo del valor devuelto por la función. Utilice Void si la función no devuelve un valor.
- Fórmulas – Obligatorio. La fórmula que calcula el valor de la función en función de los parámetros.
Como ocurre con todas las fórmulas de Power Fx, la ejecución no finaliza cuando se encuentra un error. Después de llamar a la función Error, la función If impide que se produzcan cambios en Ahorros y Gasto. La función IfError también se puede utilizar para evitar una ejecución posterior después de un error. Aunque devuelve Void, la fórmula puede devolver un error si hay algún problema.
Tipos definidos por el usuario
Use fórmulas con nombre con la función Type para crear tipos definidos por el usuario. Use := en lugar de = para definir un tipo definido por el usuario, por ejemplo Book := Type( { Title: Text, Author: Text } ). Consulte la función Type para más información y ejemplos.
Propiedad OnError
Use OnError para tomar medidas cuando ocurra un error en cualquier parte de la aplicación. Proporciona una oportunidad global para interceptar un banner de error antes de que se muestre al usuario final. También puede usarlo para registrar un error mediante la función Trace o escribir en una base de datos o servicio web.
En las aplicaciones de lienzo, el resultado de cada evaluación de fórmula se comprueba en busca de un error. Si se produce un error, OnError se evalúa con las mismas variables de ámbito FirstError y AllErrors que usa la aplicación si toda la fórmula se ajusta en una función IfError.
Si OnError está vacío, un banner de error predeterminado muestra el firstError.Message del error. La definición de una fórmula OnError invalida este comportamiento, por lo que el creador puede controlar los informes de errores según sea necesario. Para solicitar el comportamiento predeterminado en OnError, vuelva a iniciar el error mediante la función Error. Use el enfoque de reenlace si desea filtrar o controlar algunos errores de forma diferente, pero deje que otros pasen.
OnError no puede reemplazar un error en los cálculos de la manera que IfError puede. Si se invoca OnError , el error ya se ha producido y ya se procesa a través de cálculos de fórmulas como IfError; OnError controla solo los informes de errores.
Las fórmulas OnError se evalúan simultáneamente y es posible que su evaluación se superponga con el procesamiento de otros errores. Por ejemplo, si establece una variable global en la parte superior de onError y la lee más adelante en la misma fórmula, es posible que el valor haya cambiado. Use la función With para crear un valor con nombre que sea local a la fórmula.
Aunque OnError procesa cada error individualmente, es posible que el banner de error predeterminado no aparezca para cada error individualmente. Para evitar que se muestren demasiados banners de error al mismo tiempo, el mismo banner de error no se muestra de nuevo si se ha mostrado recientemente.
Example
Considere un control Label y Slider que estén unidos a través de la fórmula:
Label1.Text = 1/Slider1.Value
El valor predeterminado del control deslizante es 50. Si mueve el control deslizante a 0, Label1 no muestra ningún valor y aparece un banner de error:
Echemos un vistazo a lo que sucede con detalle:
- Mueve el control deslizante a la izquierda y la propiedad Slider1.Value cambia a 0.
- Label1.Text vuelve a evaluar automáticamente. La división por cero se produce, generando un error.
- No hay IfError en esta fórmula. La evaluación de la fórmula devuelve el error de división por cero.
- Label1.Texto no puede mostrar nada para este error, por lo que muestra un estado en blanco.
- OnError es invocado. Dado que no hay un controlador, el banner de error estándar se muestra con información de error.
Si es necesario, también puede cambiar la fórmula a Label1.Text = IfError( 1/Slider1.Value, 0 ). El uso de IfError significa que no hay ningún error o banner de error. No se puede cambiar el valor de un error de OnError porque el error ya se ha producido: OnError solo controla cómo se notifica.
Si agrega un controlador OnError , no afecta a los pasos anteriores al paso 5, pero cambia cómo se notifica el error:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Con este controlador OnError , el usuario de la aplicación no ve ningún error. Pero el error se agrega al seguimiento del Monitor, incluido el origen de la información de error de FirstError:
Si también desea mostrar el banner de error predeterminado junto con el seguimiento, vuelva a generar el error mediante la función Error después de la llamada a Trace , como si el seguimiento no estuviera allí:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Propiedad OnStart
Nota:
El uso de la propiedad OnStart puede provocar problemas de rendimiento al cargar una aplicación. Tenga en cuenta estas alternativas antes de agregar lógica a OnStart:
- Para almacenar en caché los datos o configurar variables globales, use una fórmula con nombre en la propiedad Formulas siempre que sea posible.
- Para establecer la primera pantalla que se va a mostrar, use la propiedad StartScreen en lugar de Navegar.
- Para ejecutar la lógica cuando se muestra una pantalla específica, use la propiedad OnVisible de la pantalla.
Dependiendo del contexto, la propiedad OnStart puede deshabilitarse de forma predeterminada. Si no lo ve y necesita usarlo, compruebe la configuración avanzada de la aplicación para ver un modificador para habilitarla.
Cuando la regla OnStart sin bloqueo está habilitada (el valor predeterminado), OnStart se ejecuta al mismo tiempo que otras reglas de aplicación. Como resultado:
- Es posible que las variables inicializadas en OnStart no se inicialicen completamente cuando otras reglas de la aplicación las lean.
- Una pantalla se puede representar y volver interactiva antes de que App.OnStart o Screen.OnVisible termine de ejecutarse, especialmente si esas funciones tardan mucho tiempo.
La propiedad OnStart se ejecuta cuando el usuario inicia la aplicación. Use esta propiedad para:
- Recupere y almacene datos en caché en colecciones mediante la función Collect .
- Establezca variables globales mediante la función Set.
Esta fórmula se ejecuta antes de que aparezca la primera pantalla. No se carga ninguna pantalla, por lo que no puede establecer variables de contexto con la función UpdateContext. Pero puede pasar variables de contexto con la función Navigate .
Después de cambiar la propiedad OnStart , pruóbela al mantener el puntero sobre el objeto App en el panel Vista de árbol , seleccionar los puntos suspensivos (...) y, a continuación, seleccionar Ejecutar enIniciar. A diferencia de cuando la aplicación se carga por primera vez, las colecciones y variables existentes ya están establecidas. Para comenzar con colecciones vacías, use la función ClearCollect en lugar de la función Collect.
Nota:
- El uso de la función Navigate en la propiedad OnStart se retira. Las aplicaciones existentes siguen funcionando. Durante un tiempo limitado, puede habilitarlo en la configuración de la aplicación (en Retirado). Pero el uso de Navigate de esta manera puede provocar retrasos en la carga de la aplicación porque obliga al sistema a terminar de ejecutar OnStart antes de mostrar la primera pantalla. Use la propiedad StartScreen en su lugar para establecer la primera pantalla mostrada.
- El modificador retirado está desactivado para las aplicaciones creadas antes de marzo de 2021, donde agregó Navigate a OnStart entre marzo de 2021 y ahora. Al editar estas aplicaciones en Power Apps Studio, verá un error. Active el interruptor retirado para borrar este error.
Propiedad StartScreen
La propiedad StartScreen establece qué pantalla se muestra primero. Power Apps evalúa esta propiedad una vez cuando la aplicación se carga y devuelve el objeto de pantalla que se va a mostrar. De forma predeterminada, esta propiedad está vacía y la primera pantalla de la vista Árbol de Studio se muestra primero.
StartScreen es una propiedad de flujo de datos que no puede contener funciones de comportamiento. Todas las funciones de flujo de datos están disponibles. Use estas funciones y señales para decidir qué pantalla mostrar primero:
- Param función para leer los parámetros utilizados para iniciar la aplicación.
- User función para leer información sobre el usuario actual.
- LookUp, Filter, CountRows, Max y otras funciones que leen desde un origen de datos.
- Llamadas API a través de un conector. Asegúrese de que la llamada se devuelve rápidamente.
- Señales como Conexión, Brújula, y Aplicación.
Nota:
Las variables y colecciones globales, incluidas las creadas en OnStart, no están disponibles en StartScreen. Las fórmulas con nombre están disponibles y, a menudo, son una mejor alternativa para la reutilización de fórmulas en toda la aplicación.
Si StartScreen devuelve un error, la primera pantalla de la vista Árbol de Studio se muestra como si StartScreen no está establecida. Use la función IfError para detectar errores y redirigir a una pantalla de error.
Después de cambiar StartScreen en Studio, prulíquelo al mantener el puntero sobre el objeto App en el panel Vista de árbol , seleccionar los puntos suspensivos (...) y, a continuación, seleccionar Navegar a StartScreen. La pantalla cambia como si la aplicación se acaba de cargar.
Ejemplos
Screen9
Screen9 muestra primero cada vez que se inicia la aplicación.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Comprueba si se establece el parámetro "modo de administrador" y lo usa para decidir si HomeScreen o AdminScreen se muestra primero.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Comprueba si un asistente es un miembro del personal y los dirige a la pantalla correcta al iniciarse.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Dirige la aplicación en función de una llamada a la API a ForestScreen o OceanScreen. Si se produce un error en la API, la aplicación usa ErrorScreen en su lugar.
Propiedad StudioVersion
Use la propiedad StudioVersion para mostrar o registrar la versión de Power Apps Studio que se usa para publicar una aplicación. Esta propiedad ayuda a depurar y comprobar que la aplicación se vuelve a publicar con una versión reciente de Power Apps Studio.
StudioVersion devuelve texto. El formato de este texto puede cambiar con el tiempo, por lo que lo trata como un todo y no extrae partes individuales.