Comparteix via


Objecte Aplicació al Power Apps

S'aplica a: Aplicacions de llenç

Obteniu informació sobre l'aplicació que s'està executant actualment i controleu-ne el comportament.

Descripció

Com un control, l'objecte App té propietats que identifiquen quina pantalla es mostra i us demanen que deseu els canvis perquè no es perguin. Cada aplicació té un objecte Aplicació.

Escriu fórmules per a algunes propietats de l'objecte App . A la part superior de la subfinestra Visualització d'arbre, seleccioneu l'objecte Aplicació com faríeu amb qualsevol altre control o pantalla. Per visualitzar o editar una de les propietats de l'objecte, seleccioneu-la a la llista desplegable a l'esquerra de la barra de fórmules.

Captura de pantalla de l'objecte App seleccionat a la subfinestra Visualització d'arbre. La subfinestra de propietats és visible.

Propietat ActiveScreen

La propietat ActiveScreen identifica la pantalla que es mostra actualment.

Aquesta propietat retorna un objecte screen. Utilitzeu-lo per fer referència a les propietats de la pantalla actual, com ara el nom amb la fórmula App.ActiveScreen.Name. També podeu comparar aquesta propietat amb un altre objecte de pantalla, com amb la fórmula de comparació App.ActiveScreen = Screen2 per comprovar si Screen2 és la pantalla actual.

Utilitzeu la funció Enrere o Navegar per canviar la pantalla que es mostra.

Propietat BackEnabled

La propietat BackEnabled canvia la manera com l'aplicació respon al gest enrere del dispositiu (lliscar o utilitzar el botó enrere de maquinari en dispositius Android o lliscar des de l'esquerra en dispositius iOS) quan s'executa al Power Apps mòbil. Quan està activat, el gest d'enrere del dispositiu torna a la pantalla que s'ha mostrat més recentment, que és similar a la fórmula Enre . Quan està desactivat, el gest enrere del dispositiu porta l'usuari a la llista d'aplicacions.

Propietats ConfirmExit

Ningú no vol perdre els canvis que no s'han desat. Utilitzeu les propietats ConfirmExit i ConfirmExitMessage per avisar l'usuari abans de tancar l'aplicació.

Nota

  • ConfirmExit no funciona a les aplicacions incrustades, per exemple, al Power BI i al SharePoint.
  • ConfirmExit no s'admet a les pàgines personalitzades.
  • Ara, aquestes propietats poden fer referència als controls només a la primera pantalla si la característica de visualització prèvia de càrrega retardada està habilitada (que és per defecte per a les aplicacions noves). Si feu referència a altres pantalles, el Power Apps Studio no mostra cap error, però l'aplicació publicada no s'obre al Power Apps Mobile ni en un navegador. Estem treballant per aixecar aquesta limitació. Mentrestant, desactiva Càrrega retardada a Configuració>Properes funcions (a Previsualització).

ConfirmExit

ConfirmExit és una propietat booleana que, quan és certa, obre un quadre de diàleg de confirmació abans que es tanqui l'aplicació. Per defecte, aquesta propietat està definida com a false i no apareix cap quadre de diàleg.

Quan l'usuari pugui tenir canvis no desats a l'aplicació, utilitzeu aquesta propietat per mostrar un quadre de diàleg de confirmació abans de sortir de l'aplicació. Utilitzeu una fórmula que comprovi les variables i les propietats de control (per exemple, la propietat Unsaved del control Edita el formulari ).

El quadre de diàleg de confirmació apareix en qualsevol situació en què es puguin perdre dades, com ara:

  • Executeu la funció Sortir .
  • Si l'aplicació s'executa en un navegador:
    • Tanqueu el navegador o la pestanya del navegador on s'executa l'aplicació.
    • Seleccioneu el botó enrere del navegador.
    • Executeu la funció Launch amb un LaunchTarget de Self.
  • Si l'aplicació s'executa al Power Apps Mobile (iOS o Android):
    • Llisqueu per canviar a una altra aplicació al Power Apps Mobile.
    • Seleccioneu el botó enrere en un dispositiu Android.
    • Executeu la funció Inicia per iniciar una altra aplicació de llenç.

L'aspecte exacte del quadre de diàleg de confirmació pot variar segons els dispositius i les versions del Power Apps.

El quadre de diàleg de confirmació no es mostra al Power Apps Studio.

ConfirmExitMessage

Per defecte, el quadre de diàleg de confirmació mostra un missatge genèric, com ara "Pot ser que hi hagi canvis no desats" en la llengua de l'usuari.

Utilitzeu ConfirmExitMessage per proporcionar un missatge personalitzat al quadre de diàleg de confirmació. Si aquesta propietat està en blanc, s'utilitzarà el valor per defecte. Els missatges personalitzats es trunquen segons sigui necessari per encaixar dins del quadre de diàleg de confirmació, així que mantingueu el missatge a unes poques línies com a màxim.

En un navegador, el quadre de diàleg de confirmació pot mostrar un missatge genèric del navegador.

Nota

L'objecte App té dues propietats OnMessage més i BackEnabled, que són experimentals. Aquestes propietats s'eliminen de l'objecte de l'aplicació eventualment. No utilitzeu aquestes propietats a l'entorn de producció.

Exemple

  1. Definiu la propietat ConfirmExit de l'objecte Aplicació en aquesta expressió:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    El quadre de diàleg mostra si l'usuari canvia les dades en qualsevol dels dos formularis i després intenta tancar l'aplicació sense desar aquests canvis.

    [!div clas1. Definiu la propietat ConfirmExitMessage de l'objecte Aplicació en aquesta fórmula:

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

    El quadre de diàleg mostra si l'usuari canvia les dades al formulari Compte i després intenta tancar l'aplicació sense desar aquests canvis.

    Quadre de diàleg de confirmació específic del formulari.

Configurar la cadena de connexió per a l'Application Insights

Per exportar els registres d'aplicacions generats pel sistema a Application Insights, configureu la cadena de connexió per a l'aplicació de llenç.

  1. Obre l'aplicació per editar-la Power Apps Studio.
  2. Seleccioneu l'objecte App a la visualització d'arbre de navegació esquerra.
  3. Introduïu la cadena de connexió a la subfinestra de propietats.

Si les dades no s'envien a l'Application Insights, poseu-vos en contacte amb l'administrador del Power Platform i comproveu si l'App Insights està inhabilitat al nivell d'inquilí.

Propietat Fórmules

Utilitzeu les fórmules amb nom, a la propietat Fórmules, per definir una fórmula que es pot reutilitzar a tota l'aplicació.

En Power Apps, les fórmules determinen el valor de les propietats de control. Per exemple, per definir el color de fons de manera coherent en una aplicació, podríeu definir la propietat Emplena per a cadascuna com una fórmula comuna:

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

Amb tants llocs on pugui aparèixer aquesta fórmula, passa a ser feixuc i propens a errors actualitzar-los tots si es necessita un canvi. En lloc d'això, podeu crear una variable global OnStart per definir el color una vegada i després tornar a utilitzar el valor a tota l'aplicació:

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

Tot i que aquest mètode és millor, també depèn de l'execució d'OnStart abans d'establir el valor de BGColor. BGColor també es pot manipular en algun racó de l'aplicació que el fabricant desconeix, un canvi fet per algú altre, i que pot ser difícil de localitzar.

Les fórmules amb nom proporcionen una alternativa. De la mateixa manera que escrivim control-propietat = expressió, en el seu lloc podem escriure nom = expressió i després reutilitzar nom a tota la nostra aplicació per substituir l'expressió. Les definicions d'aquestes fórmules es realitzen a la propietat Fórmules:

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

Els avantatges de l'ús de fórmules amb nom són:

  • El valor de la fórmula sempre està disponible. No hi ha cap dependència de temps, cap OnStart que s'hagi d'executar abans que el valor estigui definit, cap hora en què el valor de la fórmula no sigui correcte. Les fórmules amb nom es poden fer referència en qualsevol ordre, sempre que no creïn una referència circular. Es poden calcular en paral·lel.
  • El valor de la fórmula sempre està actualitzat. La fórmula pot fer un càlcul que depèn de les propietats del control o dels registres de la base de dades i, a mida que canvien, el valor de la fórmula s'actualitza automàticament. No cal que actualitzeu manualment el valor com feu amb una variable. I les fórmules només es tornen a calcular quan cal.
  • La definició de la fórmula és immutable. La definició de Fórmules és l'única font de veritat i el valor no es pot canviar en un altre lloc de l'aplicació. Amb les variables, és possible que algun codi canviï inesperadament un valor, però aquesta situació difícil de depurar no és possible amb fórmules amb nom.
  • El càlcul de la fórmula es pot ajornar. Com que el seu valor és immutable, sempre es pot calcular quan sigui necessari, el que significa que no cal calcular-lo fins que no sigui necessari. Els valors de fórmula que no s'utilitzen fins que no es visualitza la pantalla2 d'una aplicació no es calculen fins que la pantalla2 estigui visible. Ajornar aquest treball pot millorar el temps de càrrega de l'aplicació. Les fórmules amb nom són declaratives i ofereixen oportunitats perquè sistema optimitzi la manera com i el moment en què es calculen.
  • Les fórmules amb nom són un concepte d'Excel. El Power Fx utilitza conceptes de l'Excel sempre que sigui possible perquè moltes persones coneixen bé l'Excel. Les fórmules amb nom són l'equivalent a les cèl·lules amb nom i les fórmules amb nom de l'Excel, administrades amb l'Administrador de noms. Recalculen automàticament com ho fan les cel·les d'un full de càlcul i les propietats de control.

Les fórmules amb nom es defineixen, una rere l'altra a la propietat Fórmules, que acaben amb un punt i coma. El tipus de fórmula s'infereix dels tipus d'elements dins de la fórmula i de com s'utilitzen junts. Per exemple, aquestes fórmules amb nom recuperen informació útil sobre l'usuari actual del 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 per a UserTitle s'ha d'actualitzar, es pot fer fàcilment en aquesta mateixa ubicació. Si UserPhone no és necessari a l'aplicació, aquestes crides a la taula Usuaris del Dataverse no es fan. No hi ha cap penalització per incloure una definició de fórmula que no s'utilitza.

Algunes limitacions de les fórmules amb nom:

  • No poden utilitzar funcions de comportament ni provocar altres efectes secundaris a l'aplicació.
  • No poden crear una referència circular. Tenir a = b; i b = a; a la mateixa aplicació no està permès.

Funcions definides per l'usuari

Power Fx inclou una llarga llista de funcions integrades, com ara Si, Text i Estableix. Les funcions definides per l'usuari us permeten escriure les vostres pròpies funcions que prenen paràmetres i retornen un valor, tal com ho fan les funcions integrades. Podeu pensar en les funcions definides per l'usuari com una extensió de fórmules amb nom que afegeix paràmetres i admet fórmules de comportament.

Per exemple, podeu definir una fórmula amb nom que retorni llibres de ficció d'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" );

Sense paràmetres, hauríem de definir fórmules amb nom separades per a cada gènere. Però en lloc d'això, parametritzem la nostra fórmula amb nom:

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

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

Ara podem cridar LibraryGenre( "Fiction" )LibraryGenre( "Reference" ) o filtrar altres gèneres amb una sola funció definida per l'usuari.

La sintaxi és:

FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = Formula;

  • FunctionName : obligatori. El nom de la funció definida per l'usuari.
  • ParameterNames – Opcional. El nom d'un paràmetre de funció.
  • ParameterTypes – Opcional. El nom d'un tipus, ja sigui un nom de tipus dedades integrat, un nom de font de dades o un tipus definit amb la funció Type .
  • ReturnType : obligatori. El tipus del valor retornat de la funció.
  • Fórmula : obligatòria. La fórmula que calcula el valor de la funció en funció dels paràmetres.

S'ha d'escriure cada paràmetre i la sortida de la funció de definició de l'usuari. En aquest exemple, SelectedGenre: Text defineix el primer paràmetre de la nostra funció de tipus Text i SelectedGenre és el nom del paràmetre que s'utilitza al cos per a l'operació Filter. Vegeu Tipus de dades per als noms de tipus admesos. La funció Type s'utilitza per crear un tipus agregat per a la nostra biblioteca, de manera que puguem retornar una taula de llibres de la nostra funció.

Es va definir LibraryType com una taula plural de tipus de registres. Si volem passar un sol llibre a una funció, podem extreure el tipus de registre d'aquesta taula amb la funció RecordOf:

BookType := Type( RecordOf( LibraryType ) );

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

La coincidència de registres per als paràmetres de funció és més ajustada que en altres parts Power Fx. Els camps d'un valor de registre han de ser un subconjunt adequat de la definició de tipus i no poden incloure camps addicionals. Per exemple, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) donarà lloc a un error.

Tingueu en compte que la recursivitat encara no és compatible amb les funcions definides per l'usuari.

Funcions definides per l'usuari

Les fórmules amb nom i la majoria de funcions definides per l'usuari no admeten funcions de comportament amb efectes secundaris, com ara Estableix o Notifica. En general, el millor és evitar actualitzar l'estat si podeu, en lloc de confiar en patrons de programació funcionals i permetre Power Fx recalcular les fórmules segons sigui necessari automàticament. Però hi ha casos en què és inevitable. Per incloure la lògica de comportament en una funció definida per l'usuari, Empaqueta el cos entre claus:

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

Ara podem trucar Spend( 12 ) per comprovar si tenim 12 en el nostre Estalvi, i si és així, carregar-lo per 12 i afegir 12 a la variable Gastat. El tipus de retorn d'aquesta funció és Void ja que no retorna cap valor.

La sintaxi d'una funció definida per l'usuari és:

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

  • FunctionName : obligatori. El nom de la funció definida per l'usuari.
  • ParameterNames – Opcional. El nom d'un paràmetre de funció.
  • ParameterTypes – Opcional. El nom d'un tipus, ja sigui un nom de tipus de dades integrat , un nom de font de dades o un tipus definit amb lafunció Type .
  • ReturnType : obligatori. El tipus del valor retornat de la funció. Utilitzeu Void si la funció no retorna cap valor.
  • Fórmules : obligatòries. La fórmula que calcula el valor de la funció en funció dels paràmetres.

Com amb totes les Power Fx fórmules, l'execució no acaba quan es troba un error. Després de cridar la funció Error , la funció Si impedeix que es produeixin els canvis a Estalvi i Despesa . La funció IfError també es pot utilitzar per evitar l'execució posterior després d'un error. Tot i que retorna Void, la fórmula encara pot retornar un error si hi ha un problema.

Tipus definits per l'usuari

Important

Les fórmules amb nom es poden utilitzar amb la funció Type per crear tipus definits per l'usuari. Utilitzeu := en lloc de definir un tipus definit per = l'usuari, per exemple Book := Type( { Title: Text, Author: Text } ). Vegeu la funció Type per a més informació i exemples.

Propietat OnError

Utilitzeu OnError per prendre mesures quan es produeixi un error en qualsevol lloc de l'aplicació. Proporciona una oportunitat global per interceptar un bàner d'error abans de mostrar-lo a l'usuari final. També es pot utilitzar per registrar un error amb la funció Seguiment o escriure a una base de dades o a un servei web.

A les aplicacions de llenç, el resultat de cada avaluació de fórmules es comprova per detectar un error. Si es troba un error, OnError s'avalua amb les mateixes variables d'abast FirstError i AllErrors que s'haurien utilitzat si tota la fórmula s'hagués embolicat en una funció IfError.

Si OnError està buit, un bàner d'error per defecte mostra el missatge FirstError.Message de l'error. La definició d'una fórmula OnError substitueix aquest comportament, de manera que el creador pot gestionar els informes d'errors segons sigui necessari. Podeu sol·licitar el comportament per defecte a OnError tornant a llançar l'error amb la funció Error. Utilitzeu l'enfocament de rellançament si voleu filtrar o gestionar alguns errors de manera diferent, però deixeu que altres passin.

OnError no pot substituir un error en els càlculs de la mateixa manera que IfError . Si s'invoca OnError , l'error ja s'ha produït i ja s'ha processat mitjançant càlculs de fórmules com IfError; OnError només controla els informes d'errors.

Les fórmules OnError s'avaluen simultàniament i és possible que la seva avaluació se superposi amb el processament d'altres errors. Per exemple, si definiu una variable global a la part superior d'un OnError i la llegiu més endavant en la mateixa fórmula, és possible que el valor hagi canviat. Utilitzeu la funció Amb per crear un valor amb nom que sigui local a la fórmula.

Tot i que OnError processa cada error individualment, és possible que el bàner d'error per defecte no aparegui per a cada error individualment. Per evitar que es mostrin massa bàners d'error alhora, no es tornarà a mostrar el mateix bàner d'error si s'ha mostrat recentment.

Exemple

Considereu un control d'Tag i un control Slider que estan units per la fórmula:

Label1.Text = 1/Slider1.Value

Control d'etiqueta i control lliscant lligat a través de la fórmula Label1.Text = 1/Slider1.Value.

El control lliscant és per defecte 50. Si el control lliscant es desplaça a 0, Label1 no mostrarà cap valor i es mostra un bàner d'error:

El control lliscant s'ha mogut a 0, donant lloc a una divisió per zero error i un bàner d'error.

Fem un cop d'ull al que ha passat en detall:

  1. L'usuari ha mogut el control lliscant cap a l'esquerra i la propietat Slide1.Value ha canviat a 0.
  2. Label1.Text s'ha reavaluat automàticament. La divisió per zero s'ha produït, generant un error.
  3. En aquesta fórmula no hi ha cap IfError. L'avaluació de la fórmula retorna l'error de divisió per zero.
  4. Label1.Text no pot mostrar res per a aquest error, de manera que mostra un estat en blanc .
  5. S'invoca OnError . Com que no hi ha cap controlador, es visualitza el bàner d'error estàndard amb informació de l'error.

Si cal, també podeu canviar la fórmula a Label1.Text = IfError( 1/Slider1.Value, 0 ). L'ús d'IfError significa que no hi ha cap error ni cap bàner d'error. No podeu canviar el valor d'un error d'OnError perquè l'error ja s'ha produït: OnError només controla com s'informa.

Si afegiu un controlador OnError , no afectarà els passos anteriors al pas 5, però canvia la manera com s'informa de l'error:

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

Fórmula App.OnError establerta per generar una traça.

Amb aquest controlador OnError , l'usuari de l'aplicació no veu cap error. Però l'error s'afegeix a la traça del monitor, inclosa la font de la informació d'error de FirstError:

El control lliscant es va moure a 0, donant lloc a una divisió per zero error, però cap bàner d'error.

Si també voleu mostrar el bàner d'error predeterminat juntament amb la traça, torneu a llançar l'error amb la funció Error després de la crida Trace , com si la traça no hi fos:

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

Propietat OnStart

Nota

L'ús de la propietat OnStart pot causar problemes de rendiment en carregar una aplicació. Estem creant alternatives per a les dues raons principals per utilitzar aquesta propietat: emmagatzemar dades a la memòria cau i configurar variables globals. Ja hi ha una alternativa per definir la primera pantalla que es mostrarà amb Navega. Depenent del context, aquesta propietat es pot desactivar per defecte. Si no la veieu i necessiteu utilitzar-la, comproveu la configuració avançada de l'aplicació per activar-la. També podeu utilitzar la propietat OnVisible d'una pantalla. Per defecte, quan la regla OnStart sense bloqueig està habilitada, permet que la funció OnStart s'executi al mateix temps que altres regles de l'aplicació. Per tant, si les variables a les quals es fa referència en altres regles de l'aplicació s'inicialitzen dins de la funció OnStart , és possible que encara no estiguin completament inicialitzades. A més, una pantalla es pot representar i esdevenir interactiva abans que les funcions Screen.OnVisible o App.OnStart acabin d'executar-se, sobretot si triguen molt a acabar.

La propietat OnStart s'executa quan l'usuari inicia l'aplicació. Aquesta propietat s'utilitza sovint per:

  • Recupereu i emmagatzemeu a la memòria cau les dades de les col·leccions mitjançant la funció Collecta .
  • Configurar les variables globals mitjançant la funció Set.

Aquesta fórmula s'executa abans que aparegui la primera pantalla. No es carrega cap pantalla i, per tant, no podeu definir variables de context amb la funció UpdateContext. Però podeu passar variables de context amb la funció Navega .

Després de canviar la propietat OnStart , proveu-la passant el cursor per sobre de l'objecte App a la subfinestra Visualització d'arbre , seleccionant els punts suspensius (...) i, a continuació, seleccionant Executa OnStart. A diferència de quan l'aplicació es carrega per primera vegada, les col·leccions i les variables existents ja estan configurades. Per començar amb col·leccions buides, utilitzeu la funció ClearCollect en comptes de la funció Collect.

Menú de drecera de l'element de l'aplicació corresponent a Executa OnStart

Nota

  • L'ús de la funció Navegar a la propietat OnStart es retira. Les aplicacions existents continuen funcionant. Durant un temps limitat, podeu activar-lo a la configuració de l'aplicació (a Retirat). Però l'ús de Navegar d'aquesta manera pot provocar retards en la càrrega de l'aplicació perquè obliga el sistema a acabar d'executar OnStart abans de mostrar la primera pantalla. Utilitzeu la propietat StartScreen per definir la primera pantalla que es mostra.
  • L'interruptor retirat està desactivat per a les aplicacions creades abans del març de 2021 on heu afegit Navega a OnStart entre març de 2021 i ara. Quan editeu aquestes aplicacions al Power Apps Studio, podeu veure un error. Activeu l'interruptor retirat per esborrar aquest error.

Propietat StartScreen

La propietat StartScreen defineix quina pantalla es mostra primer. S'avalua una vegada quan l'aplicació es carrega i retorna l'objecte de pantalla per mostrar-lo. Per defecte, aquesta propietat està buida i la primera pantalla de la visualització d'arbre de l'estudi es mostra primer.

StartScreen és una propietat de flux de dades que no pot contenir funcions de comportament. Totes les funcions de flux de dades estan disponibles. Utilitzeu aquestes funcions i senyals per decidir quina pantalla mostrar primer:

Nota

Les variables globals i les col·leccions, incloses les creades a OnStart, no estan disponibles a StartScreen. Les fórmules amb nom estan disponibles i sovint són una millor alternativa per a la reutilització de fórmules a l'aplicació.

Si StartScreen retorna un error, la primera pantalla de la visualització d'arbre d'Studio es mostra com si StartScreen no estigués definit. Utilitzeu la funció IfError per detectar qualsevol error i redirigir a una pantalla d'error.

Després de canviar StartScreen a l'Studio, proveu-lo passant el cursor per sobre de l'objecte App a la subfinestra Visualització d'arbre , seleccionant els punts suspensius (...) i, a continuació, seleccionant Navega a StartScreen. La pantalla canvia com si l'aplicació s'acabés de carregar.

Navega a StartScreen

Exemples

Screen9

Screen9 es mostra primer quan s'inicia l'aplicació.

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

Comprova si el paràmetre "admin-mode" està configurat i l'utilitza per decidir si HomeScreen o AdminScreen es mostra primer.

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

Comprova si un assistent és membre del personal i el dirigeix a la pantalla correcta a l'inici.

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

Dirigeix l'aplicació en funció d'una crida d'API a ForestScreen o OceanScreen. Si l'API falla, l'aplicació l'utilitza ErrorScreen en el seu lloc.

Propietat StudioVersion

Utilitzeu la propietat StudioVersion per mostrar o registrar la versió del Power Apps Studio utilitzada per publicar una aplicació. Aquesta propietat ajuda quan depureu i comproveu que l'aplicació es torna a publicar amb una versió recent del Power Apps Studio.

StudioVersion retorna text. El format d'aquest text pot canviar amb el temps, així que tracteu-lo com un tot i no extreueu parts individuals.