Obxecto da aplicación en Power Apps

Aplícase a: aplicacións Canvas

Obtén información sobre a aplicación en execución e controla o comportamento da aplicación.

Descripción

Como un control, o obxecto App ten propiedades que identifican que pantalla está a mostrar e che piden que gardes os cambios para que non os perdas. Cada aplicación ten un obxecto da aplicación.

Escribe fórmulas para algunhas propiedades do obxecto App . Na parte superior da Visualización en árbore selecciona o obxecto da aplicación como faría con calquera outro control ou pantalla. Para ver ou editar unha das propiedades do obxecto, seleccionala na lista despregable á esquerda da barra de fórmulas.

Captura de pantalla do obxecto App seleccionado no panel Vista en árbore. O panel de propiedades está visible.

Este artigo cobre as seguintes propiedades dos obxectos App :

  • ActiveScreen – a pantalla que se mostra actualmente.
  • BackEnabled – como responde a aplicación ao xesto de retroceso do dispositivo.
  • ConfirmExit e ConfirmExitMessage – avisa ao usuario antes de pechar a aplicación.
  • Cadea de conexión – configurar o rexistro de Application Insights.
  • Fórmulas – definen fórmulas nomeadas, funcións definidas polo usuario e tipos definidos polo usuario.
  • OnError – xestionar os erros globalmente.
  • OnStart – executa a lóxica cando a aplicación comece.
  • Pantalla de inicio – configura a pantalla que aparece primeiro cando carga a aplicación.
  • StudioVersion – devolve a versión de Power Apps Studio que publicou a aplicación.

Propiedade ActiveScreen

A propiedade ActiveScreen identifica a pantalla que se mostra actualmente.

Esta propiedade devolve un obxecto de pantalla. Úsaa para referenciar propiedades da pantalla actual, como o nome coa fórmula App.ActiveScreen.Name. Tamén pode comparar esta propiedade con outro obxecto de pantalla, como coa fórmula de comparación App.ActiveScreen = Screen2 para comprobar se Screen2 é a pantalla actual.

Use a función Atrás ou Navegar para cambiar a pantalla que se amosa.

Propiedade BackEnabled

A propiedade BackEnabled cambia a forma en que a aplicación responde ao xesto de retroceso do dispositivo (deslizar o dedo ou usar o botón de retroceso de hardware en dispositivos Android ou pasar o dedo desde a esquerda en dispositivos iOS) cando se executa en Power Apps móbiles. Cando está activado, o xesto de retroceso do dispositivo volve á pantalla que se mostrou máis recentemente, que é similar á fórmula de atrás . Cando está desactivado, o xesto de retroceso do dispositivo leva ao usuario á lista de aplicacións.

Propiedades ConfirmExit

Ninguén quere perder os cambios non gardados. Use as propiedades ConfirmExit e ConfirmExitMessage para avisar ao usuario antes de pechar a aplicación.

Nota

  • ConfirmExit non funciona en aplicacións incrustadas, por exemplo, en Power BI e SharePoint.
  • ConfirmExit non está soportado en páxinas personalizadas.
  • Agora, estas propiedades poden facer referencia a controis só na primeira pantalla se a función de vista previa de carga atrasada está activada (que é por defecto para novas aplicacións). Se fai referencia a outras pantallas, Power Apps Studio non mostra un erro, pero a aplicación publicada non se abre en Power Apps Mobile ou nun navegador. Microsoft está a traballar para eliminar esta limitación. Mentres tanto, desactiva a carga atrasada en Configuración>Próximas funcións (en Vista previa).

ConfirmExit

ConfirmExit é unha propiedade booleana que, cando é verdadeira, abre unha caixa de diálogo de confirmación antes de que se peche a aplicación. Por defecto, esta propiedade é false e non aparece ningunha caixa de diálogo.

Cando o usuario poida ter cambios non gardados na aplicación, use esta propiedade para mostrar unha caixa de diálogo de confirmación antes de saír da aplicación. Use unha fórmula que comprobe as variables e as propiedades do control (por exemplo, a propiedade Non gardado do control Editar formulario ).

A caixa de diálogo de confirmación aparece en calquera situación na que se poidan perder datos, como:

  • Executa a función de saída .
  • Se a aplicación se executa nun navegador:
    • Pecha o navegador ou a pestana do navegador onde se executa a aplicación.
    • Seleccione o botón de atrás do navegador.
    • Executa a función Launch cun LaunchTarget de Self.
  • Se a aplicación se executa en Power Apps Mobile (iOS ou Android):
    • Desliza o dedo para cambiar a outra aplicación en Power Apps Mobile.
    • Seleccione o botón de atrás nun dispositivo Android.
    • Executa a función Launch para iniciar outra aplicación de lenzo.

O aspecto exacto da caixa de diálogo de confirmación pode variar segundo os dispositivos e versións de Power Apps.

A caixa de diálogo de confirmación non se mostra en Power Apps Studio.

ConfirmExitMessage

Por defecto, a caixa de diálogo de confirmación mostra unha mensaxe xenérica, como "Pode ter cambios sen gardar." no idioma do usuario.

Use ConfirmExitMessage para proporcionar unha mensaxe personalizada na caixa de diálogo de confirmación. Se esta propiedade está en branco, úsase o valor predefinido. As mensaxes personalizadas son truncadas segundo sexa necesario para encaixar na caixa de diálogo de confirmación, polo que manteña a mensaxe nunhas poucas liñas como máximo.

Nun navegador, a caixa de diálogo de confirmación pode mostrar unha mensaxe xenérica do navegador.

Exemplo

  1. Estableza a propiedade ConfirmExit do obxecto da aplicación nesta expresión:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    O cadro de diálogo aparece se o usuario cambia datos en calquera das formas e logo tenta pechar a aplicación sen gardar eses cambios.

    Caixa de diálogo de confirmación xenérica.

  2. Estableza a propiedade ConfirmExitMessage do obxecto da aplicación nesta fórmula:

    If( AccountForm.Unsaved,
        "Accounts form has unsaved changes.",
        "Contacts form has unsaved changes."
    )
    

    A caixa de diálogo mostra unha mensaxe específica do formulario cando o usuario cambia datos en calquera dos dous e logo tenta pechar a aplicación sen gardar eses cambios.

    Cadro de diálogo de confirmación específico do formulario.

Propiedade da cadea de conexión

Usa a propiedade de cadea de conexión para exportar rexistros de aplicacións xerados polo sistema a Application Insights.

Para establecer a connection string:

  1. Abre a túa aplicación para editar en Power Apps Studio.
  2. Seleccione o obxecto App na vista da árbore de navegación esquerda.
  3. Introduza a cadea de conexión no panel de propiedades.

Se non se envían datos a Application Insights, contacta co administrador de Power Platform e comproba se Application Insights está desactivado a nivel de inquilino.

Propiedade das fórmulas

Usa a propiedade Fórmulas para definir lóxica reutilizable en toda a túa aplicación. A propiedade Fórmulas soporta tres construtos:

Fórmulas con nome

Usa fórmulas nomeadas na propiedade Fórmulas para definir unha fórmula que poidas reutilizar en toda a túa aplicación.

En Power Apps, as fórmulas determinan o valor das propiedades de control. Por exemplo, para establecer a cor de fondo de forma consistente nunha aplicación, establece a propiedade de Recheo para cada control a unha fórmula común:

Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )

Con tantos lugares onde aparece esta fórmula, faise tedioso e propenso a erros actualizalos todos se é necesario un cambio. En vez diso, crea unha variable global en OnStart para establecer a cor unha vez, e logo reutiliza o valor en toda a aplicación:

App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Aínda que este método é mellor, tamén depende de que OnStart se execute antes de que se estableza o valor de BGColor . BGColor tamén se pode manipular nalgún recuncho da aplicación que o creador descoñece, un cambio feito por outra persoa e que pode ser difícil de rastrexar.

As fórmulas con nome proporcionan unha alternativa. Así como normalmente escribes control-property = expression, podes escribir name = expression e logo reutilizar name en toda a túa aplicación para substituír expression. Defina estas fórmulas na propiedade Fórmulas :

App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

As vantaxes de usar fórmulas con nome inclúen:

  • O valor da fórmula está sempre dispoñible. Non hai ningunha dependencia de tempo, ningún OnStart que deba executarse primeiro antes de que se estableza o valor, nin ningún momento no que o valor da fórmula sexa incorrecto. As fórmulas con nome poden referirse entre si en calquera orde, sempre que non creen unha referencia circular. Pódense calcular en paralelo.
  • O valor da fórmula está sempre actualizado. A fórmula pode realizar un cálculo que depende das propiedades de control ou dos rexistros da base de datos e, a medida que cambian, o valor da fórmula actualízase automaticamente. Non é necesario actualizar manualmente o valor como se fai cunha variable. E as fórmulas só se volven calcular cando é necesario.
  • A definición da fórmula é inmutable. A definición en Fórmulas é a única fonte de verdade e o valor non se pode cambiar noutro lugar da aplicación. Coas variables, algún código pode cambiar inesperadamente un valor, pero esta situación difícil de depurar non é posible con fórmulas nomeadas.
  • O cálculo da fórmula pódese aprazar. Debido a que o seu valor é inmutable, sempre se pode calcular cando sexa necesario, o que significa que non é necesario calculalo ata que sexa necesario. Os valores das fórmulas que non se usan ata que se amosa a pantalla2 dunha aplicación non é necesario calcular ata que a pantalla2 sexa visible. Aplazar este traballo pode mellorar o tempo de carga da aplicación. As fórmulas con nome son declarativas e ofrecen ao sistema oportunidades para optimizar como e cando se calculan.
  • As fórmulas con nome son un concepto de Excel. Power Fx usa conceptos de Excel sempre que sexa posible xa que moita xente coñece ben Excel. As fórmulas con nome son o equivalente ás celas con nome e ás fórmulas con nome en Excel, xestionadas co Xestor de nomes. Volven a calcular automaticamente como as celas dunha folla de cálculo e as propiedades de control.

Define fórmulas nomeadas unha tras outra na propiedade Fórmulas , cada unha rematando cun punto e coma. O tipo de fórmula dedúcese a partir dos tipos de elementos da fórmula e de como se usan xuntos. Por exemplo, estas fórmulas con nome recuperan información útil sobre o 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' );

Se a fórmula de UserTitle necesita actualizarse, podes actualizala facilmente neste único lugar. Se UserPhone non é necesario na aplicación, entón estas chamadas á táboa Usuarios en Dataverse non se realizan. Non hai penalización por incluír unha definición de fórmula que non se utiliza.

Algunhas limitacións das fórmulas con nome:

  • Non poden usar funcións de comportamento nin causar efectos secundarios na aplicación.
  • Non poden crear unha referencia circular. Non se permite ter a = b; e b = a; na mesma aplicación.

Funcións definidas polo usuario

Power Fx inclúe unha longa lista de funcións integradas, como Se, Texto e a6> Definir. Ao usar funcións definidas polo usuario, podes escribir as túas propias funcións que toman parámetros e devolven un valor, igual que as funcións integradas. Pensa nas funcións definidas polo usuario como unha extensión de fórmulas nomeadas que engade parámetros e soporta fórmulas de comportamento.

Por exemplo, pode definir unha fórmula con nome que devolva libros de ficción dunha 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" );

Sen parámetros, necesitas definir fórmulas nomeadas separadas para cada xénero. Pero en vez diso, parametriza a túa fórmula nomeada:

LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );

LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );

Agora podes chamar LibraryGenre( "Fiction" )a , LibraryGenre( "Reference" ), ou filtrar outros xéneros usando unha única función definida polo usuario.

A sintaxe é:

FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ): ReturnType = Fórmula;

  • FunctionName – Obrigatorio. O nome da función definida polo usuario.
  • ParameterNames – Opcional. O nome dun parámetro de función.
  • ParameterTypes – Opcional. O nome dun tipo, xa sexa un nome de tipo de dato incorporado, un nome de fonte de datos ou un tipo definido usando a función Tipo .
  • ReturnType – Obrigatorio. O tipo de valor de retorno da función.
  • Fórmula – Obrigatorio. A fórmula que calcula o valor da función en función dos parámetros.

Debes escribir cada parámetro e a saída da función definida polo usuario. Neste exemplo, SelectedGenre: Text define o primeiro parámetro da función como do tipo Texto e SelectedGenre é o nome do parámetro que se usa no corpo para a operación de filtrado. Consulte Tipos de datos para os nomes de tipos admitidos. A función Type úsase para crear un tipo agregado para a biblioteca, de xeito que poidas devolver unha táboa de libros desde a función.

Ti defines LibraryType como unha táboa plural de rexistros tipo. Se queres pasar un único libro a unha función, podes extraer o tipo do rexistro para esta táboa usando a función RecordOf:

BookType := Type( RecordOf( LibraryType ) );

IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);

A coincidencia de rexistros dos parámetros de función é máis rigorosa que noutras partes de Power Fx. Os campos dun valor de rexistro deben ser un subconxunto propio da definición do tipo e non poden incluír campos adicionais. Por exemplo, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) resulta nun erro.

A recursión aínda non está soportada por funcións definidas polo usuario.

Funcións definidas polo usuario de comportamento

As fórmulas con nome e a maioría das funcións definidas polo usuario non admiten funcións de comportamento con efectos secundarios, como Establecer ou Notificar. En xeral, evita actualizar o estado se podes. En vez diso, confía en patróns de programación funcional e permite que Power Fx recalcule as fórmulas segundo sexa necesario automaticamente. Pero, hai casos nos que é inevitable. Para incluír a lóxica de comportamento nunha función definida polo usuario, Embalar o corpo entre chaves:

Spend( Amount: Number ) : Void = {
    If( Amount > Savings, 
        Error( $"{Amount} is more than available savings" ),
        Set( Savings, Savings - Amount );
        Set( Spent, Spent + Amount) 
    );
}

Agora podes chamar Spend( 12 ) para comprobar se tes 12 no teu Aforro e, se é así, débitalo 12 e engadir 12 á variable Gastado. O tipo de retorno desta función é Void xa que non devolve un valor.

A sintaxe dunha función definida polo usuario de comportamento é:

FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Fórmula1 [ ; Fórmula2 . .. ] };

  • FunctionName – Obrigatorio. O nome da función definida polo usuario.
  • ParameterNames – Opcional. O nome dun parámetro de función.
  • ParameterTypes – Opcional. O nome dun tipo, xa sexa un nome de tipo de datos integrado, un nome orixe de datos ou un tipo definido co Tipo función.
  • ReturnType – Obrigatorio. O tipo de valor de retorno da función. Use Void se a función non devolve un valor.
  • Fórmulas – Obrigatorio. A fórmula que calcula o valor da función en función dos parámetros.

Do mesmo xeito que con todas as fórmulas Power Fx , a execución non remata cando se atopa un erro. Despois de chamar á función de Erro, a función Se impide que se fagan cambios en Aforros e Gastados. Tamén se pode usar a función IfError para evitar que se siga executando despois dun erro. Aínda que devolve Void, a fórmula aínda pode devolver un erro se hai algún problema.

Tipos definidos polo usuario

Usa fórmulas nomeadas coa función Type para crear tipos definidos polo usuario. Use := en lugar de = para definir un tipo definido polo usuario, por exemplo Book := Type( { Title: Text, Author: Text } ). Consulta a función Tipo para obter máis información e exemplos.

Propiedade OnError

Use OnError para tomar medidas cando se produza un erro en calquera parte da aplicación. Ofrece unha oportunidade global para interceptar un banner de erro antes de que se mostre ao usuario final. Tamén podes usalo para rexistrar un erro usando a función Trace ou escribir nunha base de datos ou servizo web.

Nas aplicacións Canvas, o resultado de cada avaliación de fórmulas compróbase para detectar un erro. Se se atopa un erro, OnError avalíase coas mesmas variables de alcance FirstError e AllErrors que usa a aplicación se toda a fórmula está envolta nunha función IfError.

Se OnError está baleiro, un banner de erro predeterminado mostra a FirstError.Message do erro. Definir unha fórmula OnError anula este comportamento, polo que o creador pode xestionar o informe de erros segundo sexa necesario. Podes solicitar o comportamento predeterminado en OnError relanzando o erro usando a función Error. Use o enfoque de relanzamento se quere filtrar ou manexar algúns erros de xeito diferente, pero deixa pasar outros.

OnError non pode substituír un erro nos cálculos do xeito que pode IfError . Se se invoca OnError , o erro xa ocorreu e xa está procesado mediante cálculos de fórmulas como IfError; OnError controla só o informe de erros.

As fórmulas OnError avalíanse simultaneamente e é posible que a súa avaliación poida solaparse co procesamento doutros erros. Por exemplo, se estableces unha variable global na parte superior dun OnError e lea máis tarde na mesma fórmula, o valor pode ter cambiado. Use a función Conpara crear un valor con nome que sexa local da fórmula.

Aínda que OnError procesa cada erro individualmente, o banner de erro por defecto pode non aparecer para cada erro individualmente. Para evitar que se mostren demasiados banners de erro ao mesmo tempo, o mesmo banner de erro non se volve mostrar se se mostrou recentemente.

Exemplo

Considere un control Etiqueta e un control Barra de desprazamento que están unidos mediante a fórmula:

Label1.Text = 1/Slider1.Value

Control de etiqueta e control deslizante limitado a través da fórmula Etiqueta1.Texto = 1/Deslizador1.Valor.

O valor predefinido da barra de desprazamento e 50. Se moves o control deslizante a 0, Label1 non mostra valor e aparece un banner de erro:

O control deslizante moveuse a 0, o que provocou un erro de división por cero e un banner de erro.

Imos ver en detalle o que sucede:

  1. Moves o deslizador cara á esquerda e a propiedade Slider1.Value cambia a 0.
  2. Label1.Text reavalía automaticamente. Prodúcese a división por cero, xerando un erro.
  3. Non hai IfError nesta fórmula. O erro de división por cero é devolto pola avaliación da fórmula.
  4. Label1.Text non pode mostrar nada para este erro, polo que mostra un estado en branco .
  5. Invócase OnError . Como non hai un controlador, móstrase a faixa de erro estándar con información de erro.

Se é necesario, tamén podes cambiar a fórmula a Label1.Text = IfError( 1/Slider1.Value, 0 ). O uso de IfError significa que non hai ningún erro ou banner de erro. Non podes cambiar o valor dun erro de OnError porque o erro xa ocorreu: OnError só controla como se reporta.

Se engade un xestor OnError , non afecta aos pasos anteriores ao paso 5, pero cambia a forma en que se informa do erro:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" )

Fórmula App.OnError definida para xerar un rastrexo.

Con este xestor OnError , o usuario da aplicación non ve ningún erro. Pero o erro engádese ao rastro do monitor, incluíndo a fonte da información de erro de FirstError:

O control deslizante moveuse a 0, o que provocou un erro de división por cero, pero sen pancarta de erro.

Se tamén queres mostrar o banner de erro predeterminado xunto coa traza, relanza o erro usando a función Erro despois da chamada Trace , como se a Trace non existise:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )

Propiedade OnStart

Nota

O uso da propiedade OnStart pode causar problemas de rendemento ao cargar unha aplicación. Considera estas alternativas antes de engadir lóxica a OnStart:

  • Para almacenar datos en caché ou configurar variables globais, usa unha fórmula nomeada na propiedade Fórmulas cando sexa posible.
  • Para configurar a primeira pantalla para que apareza, usa a propiedade StartScreen en lugar de Navegar.
  • Para executar lóxica cando se mostra unha pantalla específica, usa a propiedade OnVisible da pantalla.

Dependendo do teu contexto, a propiedade OnStart pode estar desactivada por defecto. Se non o ves e necesitas usalo, comproba a configuración avanzada da aplicación para un interruptor para activalo.

Cando a regra OnStart non bloqueante está activada (a predeterminada), OnStart executa ao mesmo tempo que outras regras da aplicación. Como resultado:

  • As variables inicializadas en OnStart poden non estar completamente inicializadas cando outras regras da aplicación as len.
  • Unha pantalla pode renderizarse e volverse interactiva antes de que remate App.OnStart ou Screen.OnVisible , especialmente se esas funcións tardan moito.

A propiedade OnStart execútase cando o usuario inicia a aplicación. Usa esta propiedade para:

  • Recuperar e almacenar en caché os datos das coleccións usando a función Collect .
  • Configurar variables globais utilizando a función Set.

Esta fórmula funciona antes de que apareza a primeira pantalla. Non se carga ningunha pantalla, polo que non pode establecer variables de contexto coa función UpdateContext. Podes pasar variables de contexto coa función Navegar .

Despois de cambiar a propiedade OnStart , probala pasando o rato sobre o obxecto App no panel Vista en árbore , seleccionando os puntos suspensivos (...) e, a seguir, seleccionando Executar OnStart. A diferenza de cando a aplicación se carga por primeira vez, as coleccións e variables existentes xa están configuradas. Para comezar coas coleccións baleiras, use a función ClearCollect en vez da función Collect.

Menú de atallos a elementos da aplicación de Executar OnStart

Nota

  • O uso da función Navegar na propiedade OnStart está retirado. As aplicacións existentes seguen funcionando. Por un tempo limitado, podes activalo na configuración da aplicación (en Retirado). Pero usar Navegar deste xeito pode causar atrasos na carga da aplicación porque obriga ao sistema a rematar de executar OnStart antes de mostrar a primeira pantalla. Use a propiedade StartScreen para establecer a primeira pantalla que se amosa.
  • O interruptor retirado está desactivado para as aplicacións creadas antes de marzo de 2021 nas que engadiu Navegar a OnStart entre marzo de 2021 e agora. Cando editas estas aplicacións en Power Apps Studio, ves un erro. Activa o interruptor retirado para borrar este erro.

Propiedade StartScreen

A propiedade StartScreen establece a pantalla que se mostra primeiro. Power Apps avalía esta propiedade unha vez cando carga a aplicación e devolve o obxecto de pantalla para mostrar. Por defecto, esta propiedade está baleira e a primeira pantalla da vista Árbore de Studio móstrase primeiro.

StartScreen é unha propiedade de fluxo de datos que non pode conter funcións de comportamento. Todas as funcións de fluxo de datos están dispoñibles. Use estas funcións e sinais para decidir que pantalla mostrar primeiro:

  • Param función para ler os parámetros utilizados para iniciar a aplicación.
  • Función de usuario para ler información sobre o usuario actual.
  • Buscar, Filtro, CountRows, Máx, e outras funcións que len desde un orixe de datos.
  • Chamadas API a través dun conector. Asegúrese de que a chamada volva rápido.
  • Sinais como Conexión, Compás e Aplicación.

Nota

As variables e coleccións globais, incluídas as creadas en OnStart, non están dispoñibles en StartScreen. As fórmulas con nome están dispoñibles e adoitan ser unha mellor alternativa para a reutilización de fórmulas na aplicación.

Se StartScreen devolve un erro, a primeira pantalla na vista da árbore de Studio móstrase como se StartScreen non estivese configurado. Use a función IfError para detectar calquera erro e redirixir a unha pantalla de erros.

Despois de cambiar a pantalla de inicio en Studio, probala pasando o rato sobre o obxecto Aplicación no panel de vista en árbore , seleccionando os puntos suspensivos (...) e, a seguir, seleccionando Navegar á pantalla de inicio. A pantalla cambia como se a aplicación acabase de cargar.

Ir a StartScreen

Exemplos

Screen9

Screen9 Aparece primeiro cada vez que se inicia a aplicación.

If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )

Comproba se o parámetro "admin-mode" está configurado e utilízao para decidir se HomeScreen ou AdminScreen aparece primeiro.

If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )

Comproba se un asistente é un membro do persoal e diríxeo á pantalla correcta ao inicio.

IfError( If( CustomConnector.APICall() = "Forest", 
             ForestScreen, 
             OceanScreen 
         ), 
         ErrorScreen 
)

Dirixe a aplicación baseándose nunha chamada de API a ForestScreen ou OceanScreen. Se a API falla, a aplicación usa ErrorScreen no seu lugar.

Propiedade StudioVersion

Use a propiedade StudioVersion para mostrar ou rexistrar a versión de Power Apps Studio usada para publicar unha aplicación. Esta propiedade axuda cando estás depurando e comprobando que a túa aplicación está republicada cunha versión recente de Power Apps Studio.

StudioVersion devolve texto. O formato deste texto pode cambiar co paso do tempo, así que trátao como un todo e non extraiga partes individuais.