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 et demanen que guardis els canvis perquè no els perdis. 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.

Aquest article tracta les següents propietats de l'objecte App :

  • ActiveScreen – la pantalla que es mostra actualment.
  • BackEnabled – com respon l'aplicació al gest de retrocés del dispositiu.
  • ConfirmExit i ConfirmExitMessage – avisa l'usuari abans de tancar l'aplicació.
  • Cadena de connexió – configurar el registre d'Application Insights.
  • Fórmules – definir fórmules anomenades, funcions definides per l'usuari i tipus definits per l'usuari.
  • OnError – gestionar els errors globalment.
  • OnStart – executa la lògica quan s'iniciï l'aplicació.
  • Pantalla d'inici – configura la pantalla que es mostra primer quan es carrega l'aplicació.
  • StudioVersion – retorna la versió de Power Apps Studio que va publicar l'aplicació.

Propietat ActiveScreen

La propietat ActiveScreen identifica la pantalla que es mostra actualment.

Aquesta propietat retorna un objecte screen. Utilitza'l per referenciar propietats de la pantalla actual, com 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. Microsoft està treballant per eliminar 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.

Exemple

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

    AccountForm.Unsaved Or ContactForm.Unsaved
    

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

    Caixa de diàleg genèrica de confirmació.

  2. Definiu la propietat ConfirmExitMessage de l'objecte Aplicació en aquesta fórmula:

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

    El quadre de diàleg mostra un missatge específic del formulari quan l'usuari canvia dades en qualsevol dels dos formularis i després intenta tancar l'aplicació sense desar aquests canvis.

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

Propietat de la cadena de connexió

Utilitza la propietat de cadena de connexió per exportar registres d'aplicació generats pel sistema a Application Insights.

Per establir la connection string:

  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 no s'envien dades a Application Insights, contacta amb l'administrador de Power Platform i comprova si Application Insights està desactivat a nivell de llogat.

Propietat Fórmules

Utilitza la propietat Fórmules per definir lògica reutilitzable a tota la teva aplicació. La propietat Fórmules suporta tres construccions:

Fórmules amb nom

Utilitza fórmules amb nom a la propietat Fórmules per definir una fórmula que puguis reutilitzar a tota la teva aplicació.

En Power Apps, les fórmules determinen el valor de les propietats de control. Per exemple, per establir el color de fons de manera consistent a tota una aplicació, configura la propietat Fill de cada control a una fórmula comuna:

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

Amb tants llocs on apareix aquesta fórmula, es torna tediós i propens a errors actualitzar-los tots si cal un canvi. En comptes d'això, crea una variable global a OnStart per establir el color una vegada, i després reutilitza 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. Igual que normalment escrius control-property = expression, pots escriure nom = expressió i després reutilitzar name a tota l'aplicació per substituir expression. Defineix aquestes fórmules 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 variables, algun codi pot canviar un valor inesperadament, 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.

Definim les fórmules anomenades una rere l'altra a la propietat Fórmules , cadascuna acabant 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 cal actualitzar la fórmula de UserTitle , la pots actualitzar fàcilment en aquesta 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. Utilitzant funcions definides per l'usuari, pots escriure les teves pròpies funcions que prenen paràmetres i retornen un valor, igual que les funcions integrades. Pensa en les funcions definides per l'usuari com una extensió de fórmules anomenades que afegeix paràmetres i suporta 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, cal definir fórmules anomenades separades per a cada gènere. Però en comptes d'això, parametritza la teva fórmula anomenada:

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

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

Ara pots cridar LibraryGenre( "Fiction" ), LibraryGenre( "Reference" ), o filtrar altres gèneres utilitzant una única 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 de dades integrat, un nom de font de dades o un tipus definit mitjançant 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.

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

Defineixes LibraryType com a taula plural de registres el tipus. Si vols passar un sol llibre a una funció, pots extreure el tipus de registre d'aquesta taula utilitzant 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 propi de la definició de tipus i no poden incloure camps addicionals. Per exemple, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) resulta en un error.

La recursió encara no està suportada per 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, evita actualitzar l'estat si pots. En canvi, confia en patrons de programació funcional i permet que Power Fx recalculi fórmules automàticament segons calgui. 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 pots trucar Spend( 12 ) per comprovar si tens 12 al teu Estalvi i, si és així, debitar-ho fins a 12 i afegir 12 a la variable Gastada. 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ó d'Error, la funció If impedeix que es produeixin els canvis a Estalvis i Gastats. 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

Utilitza fórmules anomenades 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ó. Ofereix una oportunitat global per interceptar un bàner d'error abans que es mostri a l'usuari final. També el pots utilitzar per registrar un error mitjançant la funció Trace o escriure en una base de dades o 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 utilitza l'aplicació si tota la fórmula està embolcallada 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. Pots sol·licitar el comportament per defecte a OnError tornant a llançar l'error utilitzant 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 ha passat i ja es processa mitjançant càlculs de fórmules com IfError; OnError controla només l'informe 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, el banner d'error per defecte pot no aparèixer per a cada error individualment. Per evitar que es mostrin massa bàners d'error al mateix temps, el mateix bàner d'error no es torna a mostrar 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 mous el control lliscant a 0, Label1 no mostra cap valor i apareix un banner d'error:

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

Vegem què passa en detall:

  1. Mous el control lliscant cap a l'esquerra i la propietat Slider1.Value canvia a 0.
  2. Label1.Text es reavalua automàticament. Es produeix la divisió per zero, 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 pots canviar el valor d'un error des d'OnError perquè l'error ja ha passat: OnError només controla com es reporta.

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é vols mostrar el banner d'error per defecte juntament amb la traça, torna a llançar l'error utilitzant la funció d'Error després de la crida a la Traça , 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ó. Considera aquestes alternatives abans d'afegir lògica a OnStart:

  • Per emmagatzemar dades en memòria cau o configurar variables globals, utilitza una fórmula amb nom a la propietat Fórmules sempre que sigui possible.
  • Per configurar la primera pantalla perquè es mostri, utilitza la propietat StartScreen en lloc de Navegar.
  • Per executar la lògica quan es mostra una pantalla específica, utilitza la propietat OnVisible de la pantalla.

Depenent del teu context, la propietat OnStart pot estar desactivada per defecte. Si no la veieu i necessiteu utilitzar-la, comproveu la configuració avançada de l'aplicació per activar-la.

Quan la regla OnStart de no bloqueig està activada (la predeterminada), OnStart s'executa al mateix temps que altres regles de l'aplicació. Com a resultat:

  • Les variables inicialitzades a OnStart poden no estar completament inicialitzades quan altres regles de l'aplicació les llegeixen.
  • Una pantalla pot renderitzar-se i esdevenir interactiva abans que App.OnStart o Screen.OnVisible acabin d'executar-se, especialment si aquestes funcions triguen molt de temps.

La propietat OnStart s'executa quan l'usuari inicia l'aplicació. Utilitza aquesta propietat 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 edites aquestes aplicacions a Power Apps Studio, veus un error. Activeu l'interruptor retirat per esborrar aquest error.

Propietat StartScreen

La propietat StartScreen defineix quina pantalla es mostra primer. Power Apps avalua aquesta propietat una vegada quan l'aplicació es carrega i retorna l'objecte de pantalla a mostrar. 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.