Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Se aplică pentru: planșă de lucru aplicații
Obțineți informații despre aplicația care rulează în prezent și controlați comportamentul aplicației.
Descriere
La fel ca un control, obiectul Aplicație are proprietăți care identifică ce ecran afișează și vă solicită să salvați modificările, astfel încât să nu le pierdeți. Fiecare aplicație are un obiect Aplicație.
Scrieți formule pentru unele proprietăți ale obiectului Aplicație . În partea de sus a panoului Vizualizare arborescentă, selectați obiectul Aplicație ca pe orice alt control sau ecran. Pentru a vizualiza sau a edita una dintre proprietățile obiectului, selectați-o în lista verticală din partea stângă a barei de formule.
Acest articol se referă la următoarele proprietăți de obiect aplicație :
- ActiveScreen - ecranul afișat în prezent.
- BackEnabled - cum răspunde aplicația la gestul de înapoi al dispozitivului.
- ConfirmExit și ConfirmExitMessage - avertizează utilizatorul înainte de a închide aplicația.
- Șir de conexiune - configurați înregistrarea în jurnal a detaliilor aplicației.
- Formule - definiți formule denumite, funcții definite de utilizator și tipuri definite de utilizator.
- OnError - tratează erorile la nivel global.
- OnStart - rulați logica atunci când pornește aplicația.
- StartScreen – setați ecranul afișat mai întâi atunci când se încarcă aplicația.
- StudioVersion - returnați versiunea Power Apps Studio care a publicat aplicația.
Proprietatea ActiveScreen
Proprietatea ActiveScreen identifică ecranul afișat în prezent.
Această proprietate returnează un obiect ecran. Utilizați-l pentru a face referire la proprietățile ecranului curent, cum ar fi numele cu formula App.ActiveScreen.Name. De asemenea, puteți compara această proprietate cu un alt obiect de ecran, cum ar fi cu formula de comparație App.ActiveScreen = Screen2 pentru a verifica dacă Ecranul2 este ecranul curent.
Utilizați funcția Înapoi sau Navigare pentru a comuta ecranul afișat.
Proprietate BackEnabled
Proprietatea BackEnabled modifică modul în care aplicația răspunde la gestul de înapoi al dispozitivului (trageți cu degetul sau utilizați butonul înapoi hardware pe dispozitive Android sau trageți cu degetul din partea stângă a dispozitivelor iOS) atunci când rulează în Power Apps mobile. Atunci când este activată, gestul înapoi al dispozitivului revine la ecranul afișat cel mai recent, care este similar cu formula Înapoi . Atunci când este dezactivat, gestul de înapoi al dispozitivului duce utilizatorul la lista de aplicații.
Proprietățile ConfirmExit
Nimeni nu dorește să piardă modificările nesalvate. Utilizați proprietățile ConfirmExit și ConfirmExitMessage pentru a avertiza utilizatorul înainte de a închide aplicația.
Notă
- ConfirmExit nu funcționează în aplicațiile încorporate, de exemplu, În Power BI și SharePoint.
- ConfirmExit nu este acceptat în paginile particularizate.
- Acum, aceste proprietăți pot face referire la controale doar pe primul ecran dacă este activată caracteristica de previzualizare a încărcării întârziate (care este în mod implicit pentru aplicațiile noi). Dacă faceți referire la alte ecrane, Power Apps Studio nu afișează o eroare, dar aplicația publicată nu se deschide în Power Apps Mobile sau într-un browser. Microsoft lucrează pentru a ridica această limitare. Între timp, dezactivați Încărcarea întârziată încaracteristicile viitoare> (sub Previzualizare).
ConfirmExit
ConfirmExit este o proprietate Boolean care, atunci când este adevărată, deschide o casetă de dialog de confirmare înainte ca aplicația să se închidă. În mod implicit, această proprietate are valoarea fals și nu apare nicio casetă de dialog.
Atunci când utilizatorul poate avea modificări nesalvate în aplicație, utilizați această proprietate pentru a afișa o casetă de dialog de confirmare înainte de a ieși din aplicație. Utilizați o formulă care verifică variabilele și proprietățile controlului (de exemplu, proprietatea Nesalvată a controlului de formular Editare ).
Caseta de dialog de confirmare apare în orice situație în care se pot pierde date, cum ar fi:
- Rulați funcția Exit .
- Dacă aplicația rulează într-un browser:
- Închideți browserul sau fila browserului în care rulează aplicația.
- Selectați butonul Înapoi al browserului.
- Rulați funcția Launch cu un LaunchTarget of Self.
- Dacă aplicația rulează în Power Apps Mobile (iOS sau Android):
- Trageți cu degetul pentru a comuta la o altă aplicație din Power Apps Mobile.
- Selectați butonul Înapoi pe un dispozitiv Android.
- Rulați funcția Launch pentru a lansa o altă aplicație pentru pânză.
Aspectul exact al casetei de dialog de confirmare poate varia între dispozitive și versiuni de Power Apps.
Caseta de dialog de confirmare nu se afișează în Power Apps Studio.
ConfirmExitMessage
În mod implicit, caseta de dialog de confirmare afișează un mesaj generic, cum ar fi „Este posibil să aveți modificări nesalvate.” în limba utilizatorului.
Utilizați ConfirmExitMessage pentru a specifica un mesaj personalizat în caseta de dialog de confirmare. Dacă această proprietate are valoarea blank, se utilizează valoarea implicită. Mesajele particularizate sunt trunchiate după cum este necesar pentru a se potrivi în caseta de dialog de confirmare, deci păstrați mesajul la câteva linii cel mult.
Într-un browser, caseta de dialog de confirmare poate afișa un mesaj generic din browser.
Exemplu
Setați proprietatea ConfirmExit a obiectului Aplicație la această expresie:
AccountForm.Unsaved Or ContactForm.UnsavedCaseta de dialog apare dacă utilizatorul modifică datele din oricare formular, apoi încearcă să închidă aplicația fără a salva modificările respective.
Setați proprietatea ConfirmExitMessage a obiectului Aplicație la această formulă:
If( AccountForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Caseta de dialog afișează un mesaj specific formularului atunci când utilizatorul modifică datele din oricare formular, apoi încearcă să închidă aplicația fără a salva modificările respective.
Proprietatea șir de conexiune
Utilizați proprietatea Șir de conexiune pentru a exporta jurnalele de aplicații generate de sistem în Detalii aplicație.
Pentru a seta connection string:
- Deschideți aplicația pentru editare în Power Apps Studio.
- Selectați obiectul Aplicație în vizualizarea arborescentă de navigare din stânga.
- Introduceți șirul de conexiune în panoul de proprietăți.
Dacă datele nu sunt trimise la Detalii despre aplicații, contactați administratorul Power Platform și verificați dacă Detaliile aplicației sunt dezactivate la nivelul entității găzduite.
Proprietatea Formule
Utilizați proprietatea Formule pentru a defini logica reutilizabilă în aplicație. Proprietatea Formule acceptă trei construcții:
- Formule denumite - atribuiți un nume unei formule și reutilizați valoarea în cadrul aplicației.
- Funcții definite de utilizator - formule denumite care preiau parametri și returnează o valoare.
- Tipuri definite de utilizator - tipurile denumite pe care le puteți reutiliza în formule și semnături de funcții.
Formulele denumite
Utilizați formule denumite în proprietatea Formule pentru a defini o formulă pe care o puteți reutiliza în cadrul aplicației.
În Power Apps, formulele determină valoarea proprietăților de control. De exemplu, pentru a seta constant culoarea de fundal într-o aplicație, setați proprietatea Umplere pentru fiecare control la o formulă comună:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Cu atât de multe locuri în care apare această formulă, ea devine plictisitoare și este predispusă să le actualizați pe toate dacă este necesară o modificare. În schimb, creați o variabilă globală în OnStart pentru a seta culoarea o dată, apoi reutilizați valoarea în cadrul aplicației:
App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Deși această metodă este mai bună, depinde și de rularea OnStart înainte de stabilirea valorii pentru BGColor . BGColor ar putea fi, de asemenea, manipulat într-un colț al aplicației de care producătorul nu știe, o modificare făcută de altcineva și care poate fi greu de urmărit.
Formulele denumite oferă o alternativă. Așa cum scrieți frecvent proprietatea control-proprietate = expresie, puteți în schimb să scrieți nume = expresie , apoi să reutilizați numele în cadrul aplicației pentru a înlocui expresia. Definiți aceste formule în proprietatea Formule :
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Avantajele utilizării formulelor denumite includ:
- Valoarea formulei este întotdeauna disponibilă. Nu există nicio dependență de sincronizare, nici OnStart care trebuie să ruleze mai întâi, înainte ca valoarea să fie setată, nici un moment în care valoarea formulei este incorectă. Formulele denumite se pot face referire unele la altele în orice ordine, atâta timp cât nu creează o referință circulară. Acestea pot fi calculate în paralel.
- Valoarea formulei este întotdeauna actualizată. Formula poate efectua un calcul care depinde de proprietățile de control sau de înregistrările bazei de date și, pe măsură ce acestea se modifică, valoarea formulei se actualizează automat. Nu trebuie să actualizați manual valoarea, așa cum faceți cu o variabilă. Iar formulele se recalculează doar când este nevoie.
- Definiția formulei este imuabilă. Definiția din Formule este singura sursă de adevăr, iar valoarea nu poate fi schimbată în altă parte în aplicație. Cu variabile, unele coduri pot modifica în mod neașteptat o valoare, dar această situație greu de depanare nu este posibilă cu formule denumite.
- Calculul formulei poate fi amânat. Deoarece valoarea sa este imuabilă, poate fi întotdeauna calculată atunci când este necesar, ceea ce înseamnă că nu trebuie calculată până când este nevoie. Valorile formulelor care nu sunt utilizate până la screen2 al unei aplicații nu trebuie să fie calculate până când screen2 nu este vizibil. Amânarea acestei lucrări poate îmbunătăți timpul de încărcare a aplicației. Formulele denumite sunt declarative și oferă oportunități sistemului de a optimiza modul și momentul în care sunt calculate.
- Formule denumite este un concept Excel. Power Fx folosește conceptele Excel acolo unde este posibil, deoarece atât de mulți oameni cunosc bine Excel. Formulele denumite sunt echivalentul celulelor denumite și al formulelor denumite din Excel, gestionate cu Managerul de nume. Ele recalculează automat, așa cum fac celulele unei foi de calcul și proprietățile de control.
Definiți formule denumite unul după altul în proprietatea Formule , fiecare care se termină cu punct și virgulă. Tipul formulei este dedus din tipurile de elemente din formulă și din modul în care sunt utilizate împreună. De exemplu, aceste formule denumite preiau informații utile despre utilizatorul curent de la 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' );
Dacă formula pentru UserTitle trebuie actualizată, o puteți actualiza cu ușurință în această locație. Dacă UserPhone nu este necesar în aplicație, atunci aceste apeluri către tabelul Utilizatori din Dataverse nu sunt efectuate. Nu există nicio penalizare pentru includerea unei definiții de formulă care nu este utilizată.
Câteva limitări ale formulelor denumite:
- Nu pot folosi funcții de comportament sau nu pot provoca efecte secundare în cadrul aplicației.
- Ei nu pot crea o referință circulară. Nu este permis să aveți a = b; și b = a; în aceeași aplicație.
Funcții definite de utilizator
Power Fx include o listă lungă de funcții încorporate, cum ar fi If, Text și a6>Setare. Utilizând funcții definite de utilizator, puteți să scrieți propriile funcții care preiau parametri și să returneze o valoare, la fel ca funcțiile predefinite. Gândiți-vă la funcțiile definite de utilizator ca o extensie la formulele denumite care adaugă parametri și acceptă formule de comportament.
De exemplu, puteți defini o formulă numită care returnează cărți de ficțiune dintr-o bibliotecă:
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" );
Fără parametri, trebuie să definiți formule denumite separate pentru fiecare gen. Dar, în schimb, parametrizați formula denumită:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Acum puteți să apelați LibraryGenre( "Fiction" ), LibraryGenre( "Reference" )sau să filtrați după alte genuri, utilizând o singură funcție definită de utilizator.
Sintaxa este:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = Formula;
- FunctionName – Obligatoriu. Numele funcției definite de utilizator.
- ParameterNames – Opțional. Numele unui parametru de funcție.
- ParameterTypes – Opțional. Numele unui tip, fie un nume de tip de date predefinit, un nume de sursă de date, fie un tip definit utilizând funcția Type .
- ReturnType – Obligatoriu. Tipul valorii returnate din funcție.
- Formula – Obligatoriu. Formula care calculează valoarea funcției pe baza parametrilor.
Trebuie să tastați fiecare parametru și rezultatul funcției definite de utilizator. În acest exemplu, SelectedGenre: Text definește primul parametru al funcției de tipul Text și SelectedGenre este numele parametrului utilizat în corp pentru operațiunea Filtrare. Consultați Tipurile de date pentru numele tipurilor acceptate.
Funcția Type este utilizată pentru a crea un tip agregat pentru bibliotecă, astfel încât să puteți returna un tabel de cărți din funcție.
LibraryType Definiți ca tabel de înregistrări plural. Dacă doriți să transmiteți o singură carte unei funcții, puteți extrage tipul înregistrării pentru acest tabel utilizând funcția RecordOf:
BookType := Type( RecordOf( LibraryType ) );
IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);
Potrivirea înregistrărilor pentru parametrii funcției este mai strictă decât în alte părți ale Power Fx. Câmpurile unei valori de înregistrare trebuie să fie un subset corespunzător al definiției de tip și nu pot include câmpuri suplimentare. De exemplu, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) are ca rezultat o eroare.
Recursivația nu este încă acceptată de funcțiile definite de utilizator.
Funcții definite de utilizator de comportament
Formulele denumite și majoritatea funcțiilor definite de utilizator nu acceptă funcții de comportament cu efecte secundare, cum ar fi Setare sau Notificare. În general, evitați actualizarea stării dacă este posibil. În schimb, bazați-vă pe modele de programare funcțională și permiteți Power Fx să recalculeze formulele după cum este necesar automat. Dar, există cazuri în care este inevitabil. Pentru a include logica comportamentului într-o funcție definită de utilizator, înfășurați corpul în acolade:
Spend( Amount: Number ) : Void = {
If( Amount > Savings,
Error( $"{Amount} is more than available savings" ),
Set( Savings, Savings - Amount );
Set( Spent, Spent + Amount)
);
}
Acum puteți apela Spend( 12 ) pentru a verifica dacă aveți 12 în Economii și, dacă este așa, debitați-l cu 12 și adăugați 12 la variabila Cheltuit. Tipul de returnare al acestei funcții este Void , deoarece nu returnează o valoare.
Sintaxa unei funcții comportamentale definite de utilizator este:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Formula1 [ ; Formula2 . .. ] };
- FunctionName – Obligatoriu. Numele funcției definite de utilizator.
- ParameterNames – Opțional. Numele unui parametru de funcție.
- ParameterTypes – Opțional. Numele unui tip, fie un nume tip de date încorporat, un nume sursă de date sau un tip definit cu Tipul funcție.
- ReturnType – Obligatoriu. Tipul valorii returnate din funcție. Folosiți Void dacă funcția nu returnează o valoare.
- Formule – Obligatoriu. Formula care calculează valoarea funcției pe baza parametrilor.
Ca și în cazul tuturor formulelor Power Fx , execuția nu se termină atunci când se întâlnește o eroare. După apelarea funcției Error (Eroare), funcția If împiedică efectuarea modificărilor la Economii și Cheltuieli. Funcția IfError poate fi utilizată și pentru a preveni execuția ulterioară după o eroare. Chiar dacă returnează Void, formula poate returna totuși o eroare dacă există o problemă.
Tipuri definite de utilizator
Utilizați formule denumite cu funcția Type pentru a crea tipuri definite de utilizator. Utilizați := în loc de = pentru a defini un tip definit de utilizator, de exemplu Book := Type( { Title: Text, Author: Text } ). Consultați funcția Type pentru mai multe informații și exemple.
Proprietatea OnError
Utilizați OnError pentru a lua măsuri atunci când apare o eroare oriunde în aplicație. Oferă o oportunitate globală de a intercepta un banner de eroare înainte de a fi afișat utilizatorului final. De asemenea, o puteți utiliza pentru a înregistra o eroare utilizând funcția Urmărire sau scrieți într-o bază de date sau într-un serviciu web.
În aplicațiile planșă de lucru, rezultatul fiecărei evaluări a formulei este verificat pentru o eroare. Dacă apare o eroare, LaEroare este evaluat cu aceleași variabile de domeniu FirstError și AllErrors pe care le utilizează aplicația dacă întreaga formulă este încadrată într-o funcție IfError.
Dacă OnError este gol, un banner de eroare implicit afișează FirstError.Message of the error. Definirea unei formule LaEroare înlocuiește acest comportament, astfel încât creatorul să poată gestiona raportarea erorilor după cum este necesar. Puteți solicita comportamentul implicit din OnEroare prin reintroducerea erorii utilizând funcția Eroare. Utilizați abordarea de reîncercare dacă doriți să filtrați sau să gestionați unele erori în mod diferit, dar permiteți altora să treacă.
OnError nu poate înlocui o eroare în calcule așa cum poate IfError . Dacă s-a invocat OnError , eroarea s-a produs deja și este procesată deja prin calcule de formule, cum ar fi IfError; LaEroare controlează doar raportarea erorilor.
Formulele OnError sunt evaluate simultan și este posibil ca evaluarea lor să se suprapună cu procesarea altor erori. De exemplu, dacă setați o variabilă globală în partea de sus a unei valori LaEroare și citiți-o mai târziu în aceeași formulă, este posibil ca valoarea să se fi modificat. Utilizați funcția Cu pentru a crea o valoare denumită care este locală formulei.
Deși OnEroare procesează fiecare eroare individual, bannerul de eroare implicit poate să nu apară pentru fiecare eroare individual. Pentru a evita afișarea simultană a prea multor bannere de eroare, același banner de eroare nu se mai afișează dacă a fost afișat recent.
Exemplu
Luați în considerare un control Etichetă și un control Glisor care sunt legate împreună prin formula:
Label1.Text = 1/Slider1.Value
Glisorul este implicit la 50. Dacă mutați glisorul la 0, Label1 nu afișează nicio valoare și apare un banner de eroare:
Să vedem ce se întâmplă în detaliu:
- Mutați glisorul la stânga, iar proprietatea Slider1.Value se modifică în 0.
- Label1.Text reevaluată automat. Împărțirea la zero apare, generând o eroare.
- Nu există IfError în această formulă. Eroarea de împărțire la zero este returnată de evaluarea formulei.
- Label1.Text nu poate afișa nimic pentru această eroare, așa că arată o stare gol .
- OnError este invocat. Întrucât nu există o rutină de tratare, bannerul standard de eroare este afișat cu informații despre eroare.
Dacă este necesar, puteți, de asemenea, să modificați formula în Label1.Text = IfError( 1/Slider1.Value, 0 ). Dacă utilizați IfError înseamnă că nu există niciun banner de eroare sau eroare. Nu puteți modifica valoarea unei erori din OnError , deoarece eroarea s-a produs deja - LaEroare controlează doar modul în care este raportată.
Dacă adăugați o rutină de tratare LaEroare , aceasta nu afectează pașii de dinainte de pasul 5, dar modifică modul în care este raportată eroarea:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Cu această rutină de tratare LaEroare , utilizatorul aplicației nu vede nicio eroare. Dar eroarea este adăugată la urmărirea Monitorului, inclusiv sursa informațiilor despre eroare din FirstError:
Dacă doriți, de asemenea, să afișați bannerul de eroare implicit împreună cu urmărirea, reintroduceți eroarea utilizând funcția Eroaredupă apelul urmărire, ca și cum urmărire nu a fost acolo:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Proprietatea OnStart
Notă
Utilizarea proprietății OnStart poate provoca probleme de performanță atunci când încărcați o aplicație. Luați în considerare aceste alternative înainte de a adăuga logică la OnStart:
- Pentru a memora în cache date sau a configura variabile globale, utilizați o formulă denumită în proprietatea Formule, acolo unde este posibil.
- Pentru a seta primul ecran de afișat, utilizați proprietatea StartScreen în loc de Navigare.
- Pentru a rula logica atunci când se afișează un anumit ecran, utilizați proprietatea OnVisible a ecranului.
În funcție de context, proprietatea OnStart poate fi dezactivată în mod implicit. Dacă nu o vedeți și trebuie să o utilizați, consultați Setările complexe ale aplicației pentru a o activa.
Atunci când regula OnStart care nu este blocată este activată (setarea implicită), OnStart rulează în același timp cu alte reguli de aplicație. Ca urmare:
- Este posibil ca variabilele inițializate în OnStart să nu fie complet inițializate atunci când alte reguli de aplicație le citesc.
- Un ecran poate fi redat și poate deveni interactiv înainte ca App.OnStart sau Screen.OnVisible să se termine rularea, mai ales dacă aceste funcții durează mult timp.
Proprietatea OnStart rulează atunci când utilizatorul pornește aplicația. Utilizați această proprietate pentru:
- Regăsiți și memorați în cache date din colecții utilizând funcția Collect .
- Configurați variabile globale utilizând funcția Set.
Această formulă rulează înainte să apară primul ecran. Nu este încărcat niciun ecran, deci nu puteți seta variabile de context cu funcția UpdateContext. Dar puteți trece variabilele contextuale cu funcția Navigare .
După ce modificați proprietatea OnStart , testați-o trecând cu mouse-ul peste obiectul App din panoul Vizualizare arborescentă , selectând punctele de suspensie (...), apoi selectând Rulare la Pornire. Spre deosebire de momentul când aplicația se încarcă pentru prima dată, colecțiile și variabilele existente sunt deja setate. Pentru a începe de la colecțiile goale, utilizați funcția ClearCollect în locul funcției Collect.
Notă
- Utilizarea funcției Navigare din proprietatea OnStart este retrasă. Aplicațiile existente funcționează în continuare. Pentru o perioadă limitată, o puteți activa în setările aplicației (sub Retras). Dar utilizarea Navigare în acest mod poate cauza întârzieri ale încărcării aplicațiilor, deoarece impune sistemului să termine de rulat OnStart înainte de a afișa primul ecran. Utilizați proprietatea StartScreen în schimb pentru a seta primul ecran afișat.
- Comutatorul retras este dezactivat pentru aplicațiile create înainte de martie 2021, unde ați adăugat Navigare la Pornire între martie 2021 și acum. Atunci când editați aceste aplicații în Power Apps Studio, vedeți o eroare. Porniți comutatorul retras pentru a șterge această eroare.
Proprietate StartScreen
Proprietatea StartScreen setează ecranul care se afișează mai întâi. Power Apps evaluează această proprietate o dată când aplicația se încarcă și returnează obiectul de pe ecran de afișat. În mod implicit, această proprietate este goală, iar primul ecran din vizualizarea Arborescent studio se afișează mai întâi.
StartScreen este o proprietate a fluxului de date care nu poate conține funcții de comportament. Toate funcțiile fluxului de date sunt disponibile. Utilizați aceste funcții și semnale pentru a decide ce ecran să se afișeze mai întâi:
- Param funcție de citire a parametrilor utilizați pentru pornirea aplicației.
- Utilizator funcție pentru a citi informații despre utilizatorul actual.
- Căutare, Filtru, CountRows, Max și alte funcții care citesc dintr-un sursă de date.
- API apelează printr-un conector. Asigurați-vă că apelul revine rapid.
- Semnale precum Conexiune, Busolă și Aplicație.
Notă
Variabilele și colecțiile globale, inclusiv cele create în OnStart, nu sunt disponibile în StartScreen. Formulele numite sunt disponibile și sunt adesea o alternativă mai bună pentru reutilizarea formulei în aplicație.
Dacă StartScreen returnează o eroare, primul ecran din vizualizarea Arbore studio se afișează ca și cum nu este setat StartScreen . Utilizați funcția IfError pentru a surprinde erorile și a redirecționa la un ecran de eroare.
După ce modificați Ecranul Start în Studio, testați-l trecând cu mouse-ul peste obiectul Aplicație din panoul Vizualizare arborescentă , selectând punctele de suspensie (...), apoi selectând Navigare la StartScreen. Ecranul se modifică ca și cum aplicația tocmai s-a încărcat.
Exemple
Screen9
Screen9 afișează prima dată când pornește aplicația.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Verifică dacă paramul "mod de administrare" este setat și îl utilizează pentru a decide dacă Ecranul de pornire sau AdminScreen se afișează mai întâi.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Verifică dacă un participant este un cadru didactic și îi direcționează către ecranul corect la pornire.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Dirijați aplicația pe baza unei accesări API către ForestScreen sau OceanScreen. Dacă API-ul nu reușește, aplicația se utilizează ErrorScreen în schimb.
Proprietatea StudioVersion
Utilizați proprietatea StudioVersion pentru a afișa sau a înregistra în jurnal versiunea de Power Apps Studio utilizată pentru a publica o aplicație. Această proprietate vă ajută atunci când depanați și verificați dacă aplicația este republicată cu o versiune recentă de Power Apps Studio.
StudioVersion returnează text. Formatul acestui text se poate modifica în timp, deci îl puteți trata ca întreg și nu extrage părți individuale.