Objekt aplikacije na platformi Power Apps
Pruža informacije o aplikaciji koja se trenutačno izvršava i kontroli koja nadzire ponašanje aplikacije.
Opis
Poput kontrole, objekt Aplikacija omogućuje svojstva koja identificiraju koji se zaslon prikazuje i traže od korisnika da spremi promjene kako se ne bi izgubile. Svaka aplikacija ima objekt Aplikacija.
Možete napisati formule za neka svojstva objekta Aplikacija. Pri vrhu okna Prikaz stabla odaberite objekt Aplikacija kao što biste bilo koju drugu kontrolu ili zaslon. Pogledajte i uredite jedno od svojstava objekta tako što ćete ga odabrati na padajućem popisu s lijeve strane trake za formule.

Svojstvo ActiveScreen
Svojstvo ActiveScreen identificira zaslon koji se prikazuje.
Ovo svojstvo vraća objekt zaslona koji možete upotrijebiti za referenciranje svojstava zaslona ili usporedbu s drugim zaslonom kako biste utvrdili koji se zaslon prikazuje. Možete upotrijebiti i izraz App.ActiveScreen.Name za dohvaćanje naziva zaslona koji se prikazuje.
Upotrijebite funkciju Back ili Navigate za promjenu prikazanog zaslona.
Svojstvo ConfirmExit
Nitko ne želi izgubiti nespremljene promjene. Upotrijebite svojstva ConfirmExit i ConfirmExitMessage koja upozoravaju korisnika prije nego što zatvori aplikaciju.
Napomena
- Svojstvo ConfirmExit ne radi u aplikacijama u koje je ugrađeno, na primjer, uslugu Power BI i platformu SharePoint.
- Trenutačno ta svojstva mogu upućivati na kontrole samo na prvom zaslonu ako je omogućena značajka prikaza Odgođeno učitavanje (što je zadana postavka za nove aplikacije). Ako je upućivanje učinjeno, Power Apps Studio ne prikazuje pogrešku, ali se nastala objavljena aplikacija ne otvara u mobilnoj platformi Power Apps niti u pregledniku. Aktivno radimo na uklanjanju ovog ograničenja. U međuvremenu možete isključiti odgođeno učitavanje u > postavkama Nadolazeće značajke (u odjeljku Pretpregled).
ConfirmExit
ConfirmExit Booleovo je svojstvo koje, kada je postavljeno na true, otvara dijaloški potvrdni okvir prije nego što se aplikacija zatvori. Prema zadanim postavkama ovo je svojstvo false i ne pojavljuje se dijaloški okvir.
Upotrijebite ovo svojstvo za prikaz potvrdnog dijaloškog okvira ako je korisnik napravio promjene, ali ih nije spremio. Upotrijebite formulu koja može provjeriti varijable i svojstva kontrole (na primjer, svojstvo Nespremljen kontrole Edit form).
Potvrdni dijaloški okvir pojavljuje se u bilo kojoj situaciji u kojoj se podatci mogu izgubiti, kao u ovim primjerima:
- Pokretanje funkcije Exit.
- Ako se aplikacija pokreće u pregledniku:
- Zatvaranje preglednika ili kartice preglednika u kojoj se aplikacija izvršava.
- Odabir gumba u pregledniku za povratak.
- Izvođenje funkcije Launch uz LaunchTarget Self.
- Ako se aplikacija izvršava na mobilnoj platformi Power Apps (iOS ili Android):
- Prijeđite prstom kako biste se prebacili na drugu aplikaciju na mobilnoj platformi Power Apps.
- Odabir gumba za povratak na uređaj s operacijskim sustavom Android.
- Izvođenje funkcije Launch za pokretanje druge aplikacije radnog područja.
Točan izgled potvrdnog dijaloškog okvira može se razlikovati ovisno o uređajima i verzijama platforme Power Apps.
Potvrdni se dijaloški okvir ne prikazuje na platformi Power Apps Studio.
ConfirmExitMessage
Prema zadanim postavkama potvrdni dijaloški okvir prikazuje generičku poruku, kao što je „Možda imate nespremljene promjene.” na jeziku korisnika.
Upotrijebite ConfirmExitMessage kako biste osigurali prilagođenu poruku u potvrdnom dijaloškom okviru. Ako je ovo svojstvo prazno, upotrebljava se zadana vrijednost. Prilagođene poruke se po potrebi skraćuju kako bi pristajale u potvrdni dijaloški okvir pa neka poruku ima maksimalno nekoliko redaka.
Potvrdni dijaloški okvir može se u pregledniku prikazati uz generičku poruku iz preglednika.
Napomena
Objekt aplikacije ima još dva dodatna svojstva OnMessage i BackEnabled koja su eksperimentalna svojstva i ubuduće će nestati iz objekta aplikacije. Preporučujemo da ova svojstva ne koristite u vašem radnom okruženju.
Primjer
Stvorite aplikaciju koja sadrži dvije kontrole obrasca, AccountForm i ContactForm.
Postavite svojstvo ConfirmExit objekta Aplikacija ovom izrazu:
AccountForm.Unsaved Or ContactForm.UnsavedOvaj dijaloški okvir pojavljuje se ako korisnik promijeni podatke u bilo kojem obrascu, a zatim pokuša zatvoriti aplikaciju bez spremanja tih promjena.

Postavite svojstvo ConfirmExitMessage objekta Aplikacija ovom izrazu:
If( AccountsForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Ovaj dijaloški okvir pojavljuje se ako korisnik promijeni podatke u obrascu računa, a zatim pokuša zatvoriti aplikaciju bez spremanja tih promjena.

Svojstvo OnStart
Napomena
Upotreba svojstva OnStart može prouzročiti probleme u izvedbi prilikom učitavanja aplikacije. U procesu smo stvaranja alternativa za prva dva razloga za upotrebu podataka predmemoriranja svojstva— i postavljanje globalnih varijabli. Već smo stvorili alternativu za definiranje prvog zaslona koji će se prikazati za Navigate. Ovisno o kontekstu, to svojstvo može biti onemogućeno prema zadanim postavkama. Ako ga ne vidite, a trebate ga koristiti, potražite mogućnost uključivanja u naprednim postavkama aplikacije da biste ga omogućili. Također se može koristiti svojstvo zaslona OnVisible.
Svojstvo OnStart izvodi se kada korisnik pokrene aplikaciju. Ovo svojstvo često se upotrebljava za obavljanje sljedećih zadataka:
- Dohvaćanje i predmemoriranje podataka u zbirke s pomoću funkcije Collect.
- Postavljanje globalnih varijabli s pomoću funkcije Set.
Ova se formula procjenjuje prije pojavljivanja prvog zaslona. Nije učitan nijedan zaslon pa ne možete postaviti varijable konteksta s pomoću funkcije UpdateContext. Međutim, varijable konteksta možete proslijediti s pomoću funkcije Navigate.
Nakon što promijenite svojstvo OnStart, testirajte ga tako da zadržite pokazivač miša iznad objekta Aplikacija u oknu Prikaz stabla, odaberite tri točke (...), a zatim odaberite Pokreni OnStart. Za razliku od trenutka kada se aplikacija učita prvi put, postojeće zbirke i varijable već će biti postavljene. Kako biste započeli s praznim zbirkama, upotrijebite funkciju ClearCollect umjesto funkcije Collect.

Napomena
- Funkcija Navigate u svojstvu u OnStart više se ne primjenjuje. Postojeće aplikacije nastavit će raditi. Na ograničeno vrijeme još uvijek je možete omogućiti u postavkama aplikacije (dostupno pod Otpisano). Međutim, ako funkciju Navigacija upotrebljavate na taj način, može doći do kašnjenja učitavanja aplikacije, jer prisiljava sustav na dovršetak evaluacije svojstva OnStart prije prikaza prvog zaslona. Umjesto toga, upotrijebite svojstvo StartScreen za izračunavanje prvog prikazanog zaslona.
- Gumb za prebacivanje Otpisano bit će isključen za aplikacije stvorene prije ožujka 2021. u koje ste dodali funkciju Navigacija u svojstvo OnStart od ožujka 2021. do danas. Kada uređujete takve aplikacije na usluzi Power Apps Studio, možda ćete vidjeti pogrešku. Okrenite prethodno navedeni gumb za prebacivanje Otpisano da biste izbrisali tu pogrešku.
Svojstvo StartScreen
Napomena
Svojstvo StartScreen neće se pojaviti na popisu svojstava kada je uključena povučena opcija Poboljšana traka formule. Da biste isključili poboljšanu traku formule, idite na Postavke > Nadolazeće značajke > Umirovljeni > isključite prekidač poboljšane trake formule kada želite koristiti svojstvo StartScreen.
Svojstvo StartScreen određuje koji će se zaslon prvi prikazati. Ocjenjuje se nakon što se aplikacija učita i vraća objekt zaslona za prikaz. Prema zadanim postavkama, to će svojstvo biti prazno, a naprije će se prikazati prvi zaslon iz prikaza stabla.
StartScreen je svojstvo protoka podataka koje ne može sadržavati funkcije ponašanja. Dostupne su sve funkcije protoka podataka. Te funkcije i signale koristite u prvom redu da odredite koji će se zaslon prvi prikazati:
- Funkcija Param za čitanje parametara koji se koriste za pokretanje aplikacije.
- Funkcija User za čitanje informacija o trenutačnom korisniku.
- LookUp, Filter, CountRows, Max i druge funkcije koje čitaju iz izvora podataka.
- Svi API pozivi putem poveznika, ali pazite da se brzo vraćaju.
- Signali kao što su Connection, Compass i App.
Napomena
Globalne varijable i zbirke, uključujući one koje su stvorene u svojstvu OnStart, nisu dostupne u svojstvu StartScreen. Postoje deklarativne alternative za to koje su trenutačno u izvedbi. Za povratne informacije o ovom ograničenju idite na forum zajednice za Power Apps.
Ako StartScreen vraća pogrešku, prvi zaslon u prikazu Studio Tree bit će prikazan kao da svojstvo StartScreen nije bilo postavljeno. Upotrijebite funkciju IfError za evidentiranje svih pogrešaka i preusmjeravanje na odgovarajući zaslon pogreške.
Nakon što promijenite svojstvo StartScreen u Studiju, testirajte ga tako da zadržite pokazivač miša iznad objekta Aplikacija u oknu Prikaz stabla, odaberite tri točke (...), a zatim odaberite Idi na StartScreen. Zaslon će se promijeniti kao da je aplikacija učitana.

Primjeri
Screen9
Ukazuje na to da se Screen9 treba prvo prikazati kad god se aplikacija pokrene.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Provjerava je li korisnik postavio parametar "admin-mode" i koristi ga kako bi odlučio hoće li se prvo prikazati HomeScreen ili AdminScreen.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Provjerava je li sudionik konferencije član osoblja i usmjerava ga na odgovarajući zaslon pri pokretanju.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Usmjerava aplikaciju na temelju API poziva na ForestScreen ili OceanScreen. Ako API iz bilo kojeg razloga ne uspije, koristi se ErrorScreen.