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 se piardă. 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.
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. Ne străduim să ridicăm 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.
Notă
Obiectul App are încă două proprietăți și OnMessageBackEnabled, care sunt experimentale. Aceste proprietăți sunt eliminate din obiectul aplicației în cele din urmă. Nu utilizați aceste proprietăți în mediul de producție.
Exemplu
Setați proprietatea ConfirmExit a obiectului Aplicație la această expresie:
AccountForm.Unsaved Or ContactForm.UnsavedCaseta de dialog arată dacă utilizatorul modifică datele din oricare formular, apoi încearcă să închidă aplicația fără a salva modificările respective.De exemplu, utilizatorul modifică datele din oricare formular, apoi încearcă să închidă aplicația fără a salva modificările respective.
[!div clas1. Setați proprietatea ConfirmExitMessage a obiectului Aplicație la această formulă:
If( AccountsForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Caseta de dialog arată dacă utilizatorul modifică datele din formularul Cont, apoi încearcă să închidă aplicația fără a salva modificările respective.
Configurarea șirului de conexiune pentru Detalii aplicație
Pentru a exporta jurnalele de aplicații generate de sistem în Detalii aplicație, configurați șirul de conexiune pentru aplicația pânză.
- 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 nivel de entitate găzduită.
Proprietatea Formule
Folosiți formule denumite, în proprietatea Formule, pentru a defini o formulă care poate fi reutilizată în aplicația dvs.
În Power Apps, formulele determină valoarea proprietăților de control. De exemplu, pentru a seta culoarea de fundal în mod constant într-o aplicație, puteți seta proprietatea Umplere pentru fiecare 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 poate apărea această formulă, poate lua mult timp și pot apărea erori dacă le actualizați pe toate atunci când este necesară o schimbare. În schimb, puteți crea o variabilă globală în OnStart pentru a seta culoarea o dată, apoi reutilizați valoarea în întreaga aplicație:
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 scriem în mod obișnuit control-property = expression, putem scrie, în schimb, denumire = expressie și apoi putem reutiliza denumire în aplicația noastră pentru a înlocui expresia. Definițiile acestor formule sunt făcute î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, este posibil ca un cod să schimbe în mod neașteptat o valoare, dar această situație dificil de depanat nu este posibilă cu formulele numite.
- 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.
Formulele denumite sunt definite, una după alta, în proprietatea Formule, fiecare terminându-se cu semnul 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ă, acest lucru se poate face 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. Funcțiile definite de utilizator vă permit să scrieți propriile funcții care preiau parametri și returnează o valoare, așa cum fac funcțiile încorporate. Vă puteți gândi la funcțiile definite de utilizator ca o extensie a formulelor numite 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, ar trebui să definim formule separate denumite pentru fiecare gen. Dar, în schimb, să parametrizăm formula noastră numită:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Acum putem apela LibraryGenre( "Fiction" ), LibraryGenre( "Reference" ) sau filtra pe alte genuri cu 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 tip de date încorporat, un nume de sursă de date sau un tip definit cu Tip funcție.
- ReturnType – Obligatoriu. Tipul valorii returnate din funcție.
- Formula – Obligatoriu. Formula care calculează valoarea funcției pe baza parametrilor.
Fiecare parametru și ieșirea de la funcția definită de utilizator trebuie introduse. În acest exemplu, SelectedGenre: Text definește primul parametru al funcției noastre să fie de tipul Text și SelectedGenre este numele parametru care este utilizat în corp pentru operațiunea Filtru. Consultați Tipurile de date pentru numele tipurilor acceptate. Funcția Tip este folosită pentru a crea un tip agregat pentru biblioteca noastră, astfel încât să putem returna un tabel cu cărți din funcția noastră.
Am definit LibraryType un tabel plural de tip înregistrări. Dacă dorim să transmitem o singură carte unei funcții, putem extrage tipul de înregistrare pentru acest tabel cu funcția RecordOf funcția:
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 adecvat al definiției tipului și nu pot include câmpuri suplimentare. De exemplu, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) va avea ca rezultat o eroare.
Rețineți că recursiunea 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, cel mai bine este să evitați actualizarea stării dacă puteți, în schimb să vă bazați pe modele de programare funcționale și să permiteți Power Fx să recalculeze formulele după cum este necesar. 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 putem apela Spend( 12 ) pentru a verifica dacă avem 12 în Economii și, dacă da, să-l debităm cu 12 și să adăugăm 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ă ce Eroarea funcția a fost apelată, funcția Dacă funcția previne modificările la Economii și Cheltuite din întâmplare. 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
Important
- Tipurile definite de utilizator sunt o caracteristică experimentală.
- Funcțiile experimentale nu sunt destinate utilizării în producție și pot să nu fie complete. Aceste funcții sunt disponibile înainte de lansarea oficială, astfel încât să puteți obține acces anticipat și să oferi feedback. Mai multe informații: Înțelegeți caracteristicile experimentale, de previzualizare și perimate în aplicațiile create pe planșă
- Comportamentul descris de acest articol este disponibil numai atunci când Tipuri definite de utilizator funcția experimentală din Setări > Funcții viitoare > Experimental este activat (este dezactivat implicit).
- Feedback-ul dumneavoastră este valoros pentru noi. Spuneți-ne părerea dvs. pe Power Apps forumul comunității cu funcții experimentale.
Formulele denumite pot fi utilizate 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, poate fi folosit pentru a înregistra o eroare cu funcția Urmărire sau pentru a scrie î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ă se întâlnește o eroare, OnError este evaluată cu aceeași FirstError și AllErrors variabile de domeniu care ar fi fost utilizate dacă întreaga formulă ar fi fost înglobată an IfError funcție.
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 OnError prin reintroducerea erorii cu 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ă OnError este invocată, eroarea s-a produs deja și a fost deja procesată prin calcule cu formule precum IfError; OnError controlează numai 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 fiecare eroare este procesată individual de LaEroare, bannerul de eroare implicit poate să nu apară pentru fiecare eroare individual. Pentru a evita afișarea de prea multe bannere de eroare în același timp, același banner de eroare nu va fi afișat din nou 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ă glisorul este mutat la 0, Label1 nu va afișa nicio valoare și va fi afișat un banner de eroare:
Să ne uităm la ce s-a întâmplat în detaliu:
- Utilizatorul a mutat glisorul spre stânga, iar proprietatea Slide1.Value a fost schimbată la 0.
- Label1.Text a fost reevaluat automat. A avut loc împărțirea cu zero, 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 cu 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. Creăm alternative pentru primele două motive pentru a utiliza această proprietate: memorarea în cache a datelor și configurarea variabilelor globale. Există deja o alternativă pentru definirea primului ecran de afișat cu Navigare. În funcție de context, această proprietate 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. De asemenea, puteți utiliza proprietatea OnVisible a unui ecran. În mod implicit, atunci când este activată regula OnStart care nu este blocată, aceasta permite funcției OnStart să ruleze în același timp cu alte reguli de aplicație. Așadar, dacă variabilele la care se face referire în alte reguli de aplicație sunt inițializate în funcția OnStart , este posibil să nu fie inițializate complet încă. De asemenea, un ecran poate reda și deveni interactiv înainte ca funcțiile Screen.OnVisible sau App.OnStart să termine rularea, mai ales dacă durează mult timp să se termine.
Proprietatea OnStart rulează atunci când utilizatorul pornește aplicația. Această proprietate este utilizată adesea 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, puteți vedea o eroare. Porniți comutatorul retras pentru a șterge această eroare.
Proprietate StartScreen
Proprietatea StartScreen setează ecranul care se afișează mai întâi. Este evaluată 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.