Objecte Aplicació al Power Apps
S'aplica a: Aplicacions
de llenç Aplicacions basades en models
Proporciona informació sobre el control i l'aplicació que s'executen actualment amb el comportament de l'aplicació.
Descripció
Com un control, l'objecte Aplicació proporciona propietats que identifiquen la pantalla que es mostra i que demanen a l'usuari que desi els canvis per tal que no es perdin. Cada aplicació té un objecte Aplicació.
Podeu escriure fórmules per a algunes de les propietats de l'objecte Aplicació. A la part superior de la subfinestra Visualització d'arbre, seleccioneu l'objecte Aplicació com faríeu amb qualsevol altre control o pantalla. Visualitzeu i editeu una de les propietats de l'objecte seleccionant-lo a la llista desplegable de l'esquerra de la barra de fórmules.
Propietat ActiveScreen
La propietat ActiveScreen identifica la pantalla que es mostra.
Aquesta propietat retorna un objecte screen. Utilitzeu-lo per fer referència a les propietats de la pantalla que es mostra actualment, com ara el nom amb la fórmula App.ActiveScreen.Name. També podeu comparar aquesta propietat amb un altre objecte de pantalla, com ara amb la fórmula de comparació App.ActiveScreen = Screen2 per provar si Screen2 és la pantalla que es mostra actualment.
Utilitzeu la funció Back o Navigate 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 als Android dispositius, lliscar des de l'esquerra als iOS dispositius) quan s'executa en Power Apps dispositius mòbils. Quan s'activa, el gest d'enrere del dispositiu torna a la pantalla que s'ha mostrat més recentment, que és similar a la fórmula Enrere . Quan està inhabilitat, el gest de retrocés del dispositiu torna 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 en aplicacions incrustades, per exemple, Power BI i SharePoint.
- Ara, aquestes propietats poden fer referència als controls només a la primera pantalla si la funció de visualització prèvia Càrrega retardada està habilitada (que és per defecte per a les aplicacions noves). Si es fan referències, el Power Apps Studio no mostra cap error, però l'aplicació publicada resultant no s'obre al Power Apps per a dispositius mòbils ni al navegador. Estem treballant activament per corregir aquesta limitació. Mentrestant, podeu desactivar Càrrega amb retard a Configuració>Característiques futures (a Versió preliminar).
ConfirmExit
ConfirmExit és una propietat booleana que, quan és certa, obre un quadre de diàleg de confirmació abans de tancar l'aplicació. Per defecte, aquesta propietat està definida com a false i no apareix cap quadre de diàleg.
En situacions en què l'usuari pugui tenir canvis sense desar 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 pugui comprovar variables i controlar propietats (per exemple, la propietat Unsaved del control Edita el formulari).
El quadre de diàleg de confirmació apareix en qualsevol situació on es puguin perdre dades, com ara en aquests exemples:
- Executar la funció Exit.
- Si l'aplicació s'està executant en un navegador:
- Tancar el navegador o la pestanya del navegador en què s'executa l'aplicació.
- Seleccionar el botó Enrere del navegador.
- Executar la funció Launch amb LaunchTargetSelf.
- Si l'aplicació s'executa a Power Apps Mobile (iOS o Android):
- Lliscar per canviar a una altra aplicació a l'aplicació mòbil del Power Apps.
- Seleccionar el botó Enrere en un dispositiu Android.
- Executar la funció Launch per iniciar una altra aplicació del llenç.
L'aparença exacta del quadre de diàleg de confirmació pot variar entre els dispositius i les versions del Power Apps.
El quadre de diàleg de confirmació no apareix 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 calgui per adaptar-se al quadre de diàleg de confirmació; per tant, heu de mantenir el missatge en poques línies com a màxim.
En un navegador, pot ser que el quadre de diàleg de confirmació aparegui amb un missatge genèric del navegador.
Nota
L'objecte de l'aplicació té dues propietats OnMessage
i BackEnabled
més que són experimentals. Aquestes propietats se suprimiran de l'objecte de l'aplicació finalment. Recomanem no utilitzar aquestes propietats en el vostre entorn de producció.
Exemple
Crear una aplicació que contingui dos controls de formulari, AccountForm i ContactForm.
Definiu la propietat ConfirmExit de l'objecte Aplicació en aquesta expressió:
AccountForm.Unsaved Or ContactForm.Unsaved
Aquest quadre de diàleg apareix si l'usuari canvia les dades d'un formulari i, a continuació, prova de tancar l'aplicació sense desar-ne els canvis.
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." )
Aquest quadre de diàleg apareix si l'usuari canvia les dades del formulari Compte i, a continuació, prova de tancar l'aplicació sense desar-ne els canvis.
Configura la clau d'instrumentació per Application Insights
Per exportar els registres d'aplicacions generats pel Application Insights sistema, heu de configurar la clau d'instrumentació per a l'aplicació de llenç.
- Obre l'aplicació per editar-la Power Apps Studio.
- Seleccioneu l'objecte App a la visualització d'arbre de navegació esquerra.
- Introduïu la clau d'instrumentació a la subfinestra de propietats.
Si les dades no s'envien a l'App Insights, poseu-vos en contacte amb Power Platform l'administrador i verifiqueu 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
Important
- Les funcions definides per l'usuari són experimentals.
- Les característiques experimentals no estan pensades per a l'ús de producció i poden no estar completes. Aquestes funcions estan disponibles abans d'un llançament oficial perquè pugueu obtenir accés anticipat i proporcionar comentaris. Per a més informació: Entendre les característiques experimentals, de versió preliminar i retirades a les aplicacions de llenç
- El comportament que es descriu en aquest article només està disponible quan la característica experimental Funcions definides per l'usuari a Configuració > Properes característiques > experimentals està activada (està desactivada per defecte).
- Els vostres comentaris ens són valuosos. Feu-nos saber què en penseu al fòrum de Power Apps la comunitat de característiques experimentals.
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 de dades 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, emboliqueu 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ó de comportament definida per l'usuari és:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Fórmula1 [ ; Fórmula2 . .. ] };
- 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 del tipus de dades integrat, un nom d'origen de dades o un tipus definit amb el Tipus funció.
- ReturnType : obligatori. El tipus del valor retornat de la funció. Utilitzeu Void si la funció no retorna cap valor.
- Fórmules – Obligatori. La fórmula que calcula el valor de la funció en funció dels paràmetres.
Com passa amb totes les fórmules Power Fx , l'execució no s'acaba quan es troba un error. Després de cridar la funció Error funció , la funció si impedeix els canvis a Estalvis i Gastots de passar. La funció IfError també es pot utilitzar per evitar una execució posterior després d'un error. Tot i que retorna Void, la fórmula encara pot tornar un error si hi ha un problema.
Tipus definits per l'usuari
Important
- Els tipus definits per l'usuari són una característica experimental.
- Les característiques experimentals no estan pensades per a l'ús de producció i poden no estar completes. Aquestes funcions estan disponibles abans d'un llançament oficial perquè pugueu obtenir accés anticipat i proporcionar comentaris. Per a més informació: Entendre les característiques experimentals, de versió preliminar i retirades a les aplicacions de llenç
- El comportament que descriu aquest article només està disponible quan la funció experimental Tipus definits per l'usuari a Configuració > Pròximes funcions > Experimental està activat (està desactivat per defecte).
- Els vostres comentaris ens són valuosos. Feu-nos saber què en penseu al fòrum de Power Apps la comunitat de característiques experimentals.
Les fórmules amb nom es poden utilitzar amb la funció Tipus per crear tipus definits per l'usuari. Utilitzeu :=
en lloc de =
per definir un tipus definit per l'usuari, per exemple Book := Type( { Title: Text, Author: Text } )
. Consulteu la funció Tipus per obtenir 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-se 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 Canvas, el resultat de cada avaluació de fórmules es comprova si hi ha un error. Si es troba un error, OnError s'avalua amb el mateix FirstError i AllErrors variables d'abast que s'haurien utilitzat si s'hagués embolicat tota la fórmula una funció IfError.
Si OnError està buit, es mostra un bàner d'error per defecte amb el FirstError.Message de l'error. La definició d'una fórmula OnErrorsubstitueix aquest comportament que permet al responsable gestionar els informes d'errors quan convingui. Per sol·licitar el comportament per defecte a OnError, torneu a enviar l'error amb la funció Error. Utilitzeu l'enfocament de tornar a llançar si alguns errors s'han de filtrar o tractar d'una manera diferent, mentre que d'altres s'han de passar.
OnError no pot substituir un error en els càlculs de la manera que ho pot fer 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ó es superposi amb el processament d'altres errors. Per exemple, si definiu una variable global a més d'OnError i la llegiu més endavant a la mateixa fórmula, el valor podria haver canviat. Utilitzeu la funció Amb per crear un valor amb nom que sigui local a la fórmula.
Tot i que cada error es processa individualment amb OnError, pot ser que el bàner d'error per defecte no aparegui individualment per a cada error. Per evitar que es mostrin massa bàners d'error al mateix temps, el mateix bàner d'error no es tornarà 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
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:
Fem un cop d'ull al que ha passat en detall:
- L'usuari ha mogut el control lliscant cap a l'esquerra i la propietat Slide1.Value ha canviat a 0.
- Label1.Text s'ha tornat a avaluar automàticament. La divisió per zero s'ha produït, generant un error.
- En aquesta fórmula no hi ha cap IfError. L'avaluació de la fórmula retorna l'error de divisió per zero.
- Label1.Text no pot mostrar res per a aquest error, de manera que mostra un estat en blanc .
- 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é podríem modificar la fórmula per Label1.Text = IfError( 1/Slider1.Value, 0 )
. L'ús de IfError no generarà cap error ni cap bàner d'error. No podem canviar el valor d'un error d'OnError perquè en aquest moment l'error ja ha passat, només es tracta de com s'informarà.
Si afegim un gestor OnError , no té cap impacte abans del pas 5, però pot afectar la manera com s'informa de l'error:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Amb aquest gestor OnError al seu lloc, des de la perspectiva de l'usuari de l'aplicació, no hi haurà cap error. Però l'error s'afegirà a la traça del Monitor, amb la font de la informació d'error de FirstError:
Si també volem que es visualitzi el mateix bàner d'error per defecte a més de la traça, podem tornar a enviar l'error amb la funció Error després de la crida Trace igual que ho faríem si Trace no hi fos:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Propietat OnStart
Nota
L'ús de la propietat OnStart pot provocar problemes de rendiment en carregar una aplicació. Estem en procés de crear alternatives per les dues raons principals per les quals s'utilitza la propietat: desar dades a la memòria cau i configurar variables globals. Ja hem creat una alternativa per definir la primera pantalla que es mostra amb la funció Navigate. En funció del context, aquesta propietat es pot inhabilitar per defecte. Si no la veieu i heu d'utilitzar-la, comproveu la configuració avançada de l'aplicació per activar-la. La propietat OnVisible d'una pantalla també es pot utilitzar. De manera predeterminada, quan la regla de no bloqueig OnStart està activada, permet que la funció OnStart s'executi simultàniament amb altres regles de l'aplicació. Per tant, si les variables a les quals es fa referència en altres regles d'aplicació s'inicien a la funció OnStart , és possible que encara no s'inicialitzin completament. A més, hi ha la possibilitat que una pantalla es mostri i es torni interactiva abans de Screen.OnVisible o App.OnStart a28>les funcions s'acaben d'executar, sobretot si triguen molt de temps a completar-se.
La propietat OnStart s'executa quan l'usuari inicia l'aplicació. Aquesta propietat s'utilitza sovint per fer les tasques següents:
- Recuperar i emmagatzemar a la memòria cau dades de col·leccions mitjançant la funció Collect.
- Configurar les variables globals mitjançant la funció Set.
Aquesta fórmula s'avalua abans que aparegui la primera pantalla. No es carrega cap pantalla i, per tant, no podeu definir variables de context amb la funció UpdateContext. No obstant això, podeu passar variables de context amb la funció Navigate.
Després de canviar la propietat OnStart, proveu-la passant el ratolí per damunt de l'objecte Aplicació a la subfinestra Visualització d'arbre, seleccioneu els punts suspensius (...) i seleccioneu Executa OnStart. A diferència de quan l'aplicació es carrega per primer cop, les col·leccions i les variables existents ja estaran definides. Per començar amb col·leccions buides, utilitzeu la funció ClearCollect en comptes de la funció Collect.
Nota
- L'ús de la funció Navigate a la propietat OnStart s'ha retirat. Les aplicacions existents continuaran funcionant. Per un temps limitat, encara la podeu habilitar a la configuració de l'aplicació (disponible a Retirat). Tanmateix, l'ús de Navigate d'aquesta manera pot provocar retards en la càrrega de l'aplicació ja que l'aplicació és l'avaluació completa d'OnStart abans de mostrar la primera pantalla. En lloc d'això, utilitzeu la propietat StartScreen per calcular la primera pantalla que es visualitzarà.
- L'interruptor retirat estarà desactivat per a les aplicacions creades abans del març de 2021 on hàgiu afegit Navigate a OnStart entre març de 2021 i ara. Quan editeu aquestes aplicacions al Power Apps Studio, pot ser que es produeixi un error. Activeu l'interruptor retirat per esborrar aquest error.
Propietat StartScreen
La propietat StartScreen determina quina pantalla es visualitzarà primer. S'avalua quan es carrega l'aplicació i retorna l'objecte de pantalla que es visualitzarà. De manera predeterminada, aquesta propietat està buida i es mostra primer la primera pantalla de la vista d'arbre de l'estudi.
StartScreen és una propietat de flux de dades que no pot contenir funcions de comportament. Totes les funcions de flux de dades estan disponibles, en especial, utilitzeu aquestes funcions i senyals per determinar quina pantalla es mostra primer:
- Param funció per llegir els paràmetres utilitzats per iniciar l'aplicació.
- Funció d'usuari per llegir informació sobre l'usuari actual.
- LookUp, Filter, CountRows, Max i altres funcions que llegeixen des d'una font de dades.
- Les crides d'API a través d'un connector, però assegureu-vos que es torni ràpidament.
- Senyals com ara Connection, Compass i App.
Nota
Les variables i col·leccions globals, incloent-hi 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ó Arbre de Studio es mostrarà com si StartScreen no s'hagués definit. Utilitzeu la funció IfError per capturar errors i redirigir a una pantalla d'error adequada.
Després de canviar StartScreen a Studio, proveu-la passant el ratolí per damunt de l'objecte Aplicació a la subfinestra Visualització d'arbre, seleccioneu els punts suspensius (...) i seleccioneu Navega a StartScreen. La pantalla canviarà com si s'acabés de carregar l'aplicació.
Exemples
Screen9
Indica que Screen9
s'ha de mostrar primer cada vegada que s'inicia l'aplicació.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Comprova si l'usuari defineix "admin-mode" a Param i l'utilitza per decidir si el fitxer HomeScreen o AdminScreen s'ha de visualitzar primer.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Comprova si un assistent a una conferència és un membre del personal i els 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 per alguna raó, s'utilitza ErrorScreen
com a alternativa.
Propietat StudioVersion
Utilitzeu la propietat StudioVersion per mostrar o registrar la versió de Power Apps Studio que s'ha utilitzat per publicar una aplicació. Això pot ser útil a l'hora de depurar i assegurar-vos que la vostra aplicació s'hagi tornat a publicar amb una versió recent de Power Apps Studio.
StudioVersion es retorna com a text. El format del text pot canviar amb el temps i s'ha de tractar com un tot; evitar extreure porcions individuals.