Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Primjenjuje se na sljedeće: Aplikacije radnog područja
Dohvatite informacije o trenutno pokrenutoj aplikaciji i upravljajte ponašanjem aplikacije.
Opis
Kao i kontrola, objekt Aplikacije ima svojstva koja označavaju koji se zaslon prikazuje i od vas traži da spremite promjene tako da se ne izgube. Svaka aplikacija ima objekt Aplikacija.
Zapišite formule za neka svojstva objekta App . Pri vrhu okna Prikaz stabla odaberite objekt Aplikacija kao što biste bilo koju drugu kontrolu ili zaslon. Da biste prikazali ili uredili jedno od svojstava objekta, odaberite ga na padajućem popisu lijevo od trake formule.
Svojstvo ActiveScreen
Svojstvo ActiveScreen identificira zaslon koji je trenutno prikazan.
Ovo svojstvo vraća objekt zaslona. Koristi se za referenciranje svojstava trenutnog zaslona, kao što je naziv s formulom App.ActiveScreen.Name. To svojstvo možete usporediti i s drugim zaslonskim objektom, primjerice pomoću formule za usporedbu App.ActiveScreen = Screen2 da biste provjerili je li zaslon2 trenutni zaslon.
Pomoću funkcije Natragili Navigacija promijenite prikazani zaslon.
Svojstvo BackEnabled
Svojstvo BackEnabled mijenja način na koji aplikacija reagira na gestu natrag uređaja (povlačenjem prsta ili korištenjem gumba za vraćanje hardvera na uređajima sa sustavom Android ili prelaskom prsta s lijeve strane na uređajima sa sustavom iOS) prilikom pokretanja u aplikaciji Power Apps mobile. Kada je omogućena, gesta za povratak uređaja vraća se na zaslon koji je zadnji prikazan, što je slično formuli Natrag . Kada je onemogućena, gesta za vraćanje uređaja vodi korisnika na popis aplikacija.
Svojstvo ConfirmExit
Nitko ne želi izgubiti nespremljene promjene. Pomoću svojstava ConfirmExit i ConfirmExitMessage upozorite korisnika prije zatvaranja aplikacije.
Napomena
- ConfirmExit ne funkcionira u aplikacijama ugrađenima u, primjerice, Power BI i SharePoint.
- ConfirmExit nije podržan na prilagođenim stranicama.
- Sada ta svojstva mogu referenciravati kontrole samo na prvom zaslonu ako je omogućena značajka pretpregleda odgođenog učitavanja (što je po zadanom za nove aplikacije). Ako se pozivate na druge zaslone, Power Apps Studio ne prikazuje pogrešku, ali se objavljena aplikacija ne otvara u aplikaciji Power Apps Mobile ni u pregledniku. Radimo na rješavanju tog ograničenja. U međuvremenu isključite odgođeno učitavanje u odjeljkuNadolazeće>značajke postavki (u odjeljku Pretpregled).
ConfirmExit
ConfirmExit je Booleova svojstvo koje, kada je istinito, otvara dijaloški okvir za potvrdu prije zatvaranja aplikacije. Prema zadanim postavkama ovo je svojstvo false i ne pojavljuje se dijaloški okvir.
Kada korisnik u aplikaciji ima nespremljene promjene, pomoću tog svojstva prije izlaska iz aplikacije prikažite dijaloški okvir za potvrdu. Koristite formulu koja provjerava varijable i svojstva kontrole (na primjer, svojstvo Nespremljeni kontrole obrasca ).
Dijaloški okvir za potvrdu prikazuje se u situacijama u kojima se podaci mogu izgubiti, kao što su:
- Pokrenite funkciju Exit .
- Ako se aplikacija pokreće u pregledniku:
- Zatvorite preglednik ili karticu preglednika na kojoj se aplikacija pokreće.
- Odaberite gumb natrag u pregledniku.
- Pokrenite funkciju Launch uz LaunchTarget od Self.
- Ako se aplikacija pokreće u aplikaciji Power Apps Mobile (iOS ili Android):
- Prijeđite prstom da biste prešli na drugu aplikaciju u aplikaciji Power Apps Mobile.
- Odaberite gumb natrag na uređaju sa sustavom Android.
- Pokrenite funkciju Launch da biste pokrenuli neku drugu aplikaciju platna.
Točan izgled dijaloškog okvira za potvrdu može se razlikovati na svim uređajima i u verzijama aplikacija Power Apps.
Dijaloški okvir za potvrdu ne prikazuje se u aplikaciji 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 se poruke prema potrebi skraćuju da bi se stali u dijaloški okvir za potvrdu, pa poruku zadržite na najviše nekoliko redaka.
U pregledniku dijaloški okvir za potvrdu može prikazati generičku poruku iz preglednika.
Napomena
Objekt App ima još dva svojstva, OnMessageBackEnableda oni su eksperimentalni. Ta se svojstva s vremenom uklanjaju iz objekta aplikacije. Ta svojstva nemojte koristiti u produkcijsku okruženju.
Primjer
Postavite svojstvo ConfirmExit objekta Aplikacija ovom izrazu:
AccountForm.Unsaved Or ContactForm.UnsavedDijaloški okvir prikazuje mijenja li korisnik podatke u bilo kojem obrascu, a zatim pokuša zatvoriti aplikaciju bez spremanja tih promjena.Korisnik mijenja podatke u bilo kojem obrascu, a zatim pokušava zatvoriti aplikaciju bez spremanja tih promjena.
[!div clas1. Postavite svojstvo ConfirmExitMessage objekta Aplikacija ovom izrazu:
If( AccountsForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )U dijaloškom okviru prikazuje se mijenja li korisnik podatke u obrascu Račun, a zatim pokušava zatvoriti aplikaciju bez spremanja tih promjena.
Postavljanje niza za povezivanje za uvide u aplikacije
Da biste zapisnike aplikacija koje generira sustav izvezli u uvide u aplikacije, postavite niz za povezivanje za aplikaciju platna.
- Otvorite aplikaciju za uređivanje Power Apps Studio.
- Odaberite objekt Aplikacija u lijevom prikazu navigacijskog stabla.
- Unesite niz za povezivanje u okno sa svojstvima.
Ako se podaci ne šalju u uvide u aplikacije, obratite se administratoru servisa Power Platform i provjerite je li mogućnost Uvidi u aplikacije onemogućena na razini klijenta.
Svojstvo formule
Upotrijebite imenovane formule u svojstvu Formule da definirate formulu koja se može ponovno upotrijebiti u vašoj aplikaciji.
U Power Apps, formule određuju vrijednost kontrolnih svojstava. Na primjer, da biste dosljedno postavili boju pozadine u aplikaciji, možete postaviti svojstvo Ispuna za svaku na zajedničku formulu:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Uz toliko mjesta na kojima se ova formula može pojaviti, postaje zamorno i podložno pogreškama ažurirati ih sve ako je potrebna promjena. Umjesto toga, možete stvoriti globalnu varijablu u programu OnStart kako biste jednom postavili boju, a zatim ponovno upotrijebili vrijednost u cijeloj aplikaciji:
App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Iako je ova metoda bolja, ona također ovisi o pokretanju programa OnStart prije nego što se uspostavi vrijednost za BGColor . BGColor se također može manipulirati u nekom kutu aplikacije za koji proizvođač nije svjestan, promjena koju je napravio netko drugi, a kojoj može biti teško ući u trag.
Imenovane formule pružaju alternativu. Kao što obično pišemo kontrola-svojstvo = izraz, umjesto toga možemo napisati naziv = izraz i zatim ponovno upotrijebite naziv u cijeloj našoj aplikaciji za zamjenu izraza. Definicije ovih formula nalaze se u svojstvu Formule:
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Prednosti korištenja imenovanih formula uključuju:
- Vrijednost formule je uvijek dostupna. Ne postoji vremenska ovisnost, nema programa OnStart koji se mora pokrenuti prvi prije postavljanja vrijednosti, nema vremena u kojem je vrijednost formule netočna. Imenovane formule mogu se odnositi jedna na drugu bilo kojim redoslijedom, sve dok ne stvaraju kružnu referencu. Mogu se računati paralelno.
- Vrijednost formule je uvijek ažurirana. Formula može izvesti izračun koji ovisi o svojstvima kontrole ili zapisima baze podataka, a kako se oni mijenjaju, vrijednost formule se automatski ažurira. Ne morate ručno ažurirati vrijednost kao što to radite s varijablom. A formule ponovno izračunavaju samo kada je to potrebno.
- Definicija formule je nepromjenjiva. Definicija u odjeljku Formule jedini je izvor istine i vrijednost se ne može promijeniti negdje drugdje u aplikaciji. S varijablama je moguće da neki kod neočekivano promijeni vrijednost, ali ova situacija koja je teško otkloniti pogreške nije moguća s imenovanim formulama.
- Izračun formule može se odgoditi. Budući da je njegova vrijednost nepromjenjiva, uvijek se može izračunati kada je potrebno, što znači da se ne mora izračunavati dok nije potrebna. Vrijednosti formule koje se ne koriste dok se ne prikaže screen2 aplikacije ne moraju se izračunati dok screen2 ne bude vidljiv. Odgoda ovog rada može poboljšati vrijeme učitavanja aplikacije. Imenovane formule su deklarativne i pružaju mogućnosti sustavu da optimizira kako i kada se izračunavaju.
- Imenovane formule koncept su programa Excel. Power Fx upotrebljava koncepte programa Excel gdje je to moguće jer puno ljudi dobro poznaje Excel. Imenovane formule ekvivalent su imenovanih ćelija i imenovanih formula u programu Excel kojima se upravlja pomoću upravitelja naziva. Automatski se preračunavaju kao što to čine ćelije proračunske tablice i svojstva kontrole.
Imenovane formule definirane su jedna za drugom u svojstvu Formule, a svaka završava točkom sa zarezom. Vrsta formule zaključuje se iz vrsta elemenata unutar formule i načina na koji se koriste zajedno. Na primjer, ove imenovane formule dohvaćaju korisne informacije o trenutačnom korisniku iz usluge 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' );
Ako formulu za UserTitle treba ažurirati, to se može lako učiniti na ovom jednom mjestu. Ako UserPhone nije potreban u aplikaciji, tada se ti pozivi tablici Korisnici na usluzi Dataverse ne upućuju. Nema kazne za uključivanje definicije formule koja se ne upotrebljava.
Neka ograničenja imenovanih formula:
- Ne mogu upotrebljavati funkcije ponašanja niti na drugi način uzrokovati nuspojave unutar aplikacije.
- Ne mogu stvoriti kružnu referencu. Nije dozvoljeno imati a = b; i b = a; u istoj aplikaciji.
Korisnički definirane funkcije
Power Fx uključuje dugačak popis ugrađenih funkcija, kao što su Ako, Tekst i Postavi. Korisnički definirane funkcije omogućuju vam pisanje vlastitih funkcija koje uzimaju parametre i vraćaju vrijednost, baš kao što to čine ugrađene funkcije. Korisnički definirane funkcije možete zamisliti kao proširenje imenovanih formula koje dodaje parametre i podržava formule ponašanja.
Na primjer, možete definirati imenovanu formulu koja vraća beletristiku iz biblioteke:
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" );
Bez parametara, morali bismo definirati zasebne imenovane formule za svaki žanr. Ali umjesto toga, parametrizirajmo našu imenovanu formulu:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Sada možemo pozvati LibraryGenre( "Fiction" ), LibraryGenre( "Reference" ), ili filtrirati na druge žanrove s jednom korisnički definiranom funkcijom.
Sintaksa je:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2:ParameterType2 ... ] ] : Formula = ReturnType;
- FunctionName – Obavezno. Naziv funkcije koju je definirao korisnik.
- ParameterNames – Nije obavezno. Naziv parametra funkcije.
- ParameterTypes – Nije obavezno. Naziv vrste, ugrađeni naziv vrste podataka, naziv izvora podataka ili vrsta definirana funkcijom Vrsta .
- ReturnType – Obavezno. Vrsta povratne vrijednosti iz funkcije.
- Formula – Obavezno. Formula koja izračunava vrijednost funkcije na temelju parametara.
Svaki parametar i izlaz iz funkcije definiranja korisnika moraju biti upisani. U ovom primjeru SelectedGenre: Text definira prvi parametar naše funkcije kao tip Tekst i naziv je parametra SelectedGenre koji se koristi u tijelu za operaciju filtra. Pogledajte Vrste podataka za podržane nazive vrsta. Funkcija Type koristi se za stvaranje agregatnog tipa za našu biblioteku, tako da možemo vratiti tablicu knjiga iz naše funkcije.
Definirali LibraryType smo kao množinu tablice zapisa. Ako funkciji želimo proslijediti jednu knjigu, možemo izdvojiti vrstu zapisa za ovu tablicu pomoću funkcije RecordOf:
BookType := Type( RecordOf( LibraryType ) );
IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);
Podudaranje zapisa za parametre funkcije je čvršće nego u drugim dijelovima Power Fx. Polja vrijednosti zapisa moraju biti odgovarajući podskup definicije vrste i ne smiju sadržavati dodatna polja. Na primjer, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) rezultirat će pogreškom.
Imajte na umu da korisnički definirane funkcije još ne podržavaju rekurziju.
Ponašanje korisnički definirane funkcije
Imenovane formule i većina korisnički definiranih funkcija ne podržavaju funkcije ponašanja s nuspojavama, kao što su Postavi ili Obavijesti. Općenito, najbolje je izbjegavati ažuriranje stanja ako možete, umjesto toga oslanjajući se na obrasce funkcionalnog programiranja i dopuštajući Power Fx automatsko ponovno izračunavanje formula po potrebi. No, postoje slučajevi u kojima je to neizbježno. Da biste uključili logiku ponašanja u korisnički definiranu funkciju, Zamatanje tijela u vitičaste zagrade:
Spend( Amount: Number ) : Void = {
If( Amount > Savings,
Error( $"{Amount} is more than available savings" ),
Set( Savings, Savings - Amount );
Set( Spent, Spent + Amount)
);
}
Sada možemo nazvati Spend( 12 ) da provjerimo imamo li 12 u našoj Štednji, i ako je tako, da ga teretimo za 12 i dodamo 12 u varijablu Potrošeno. Vrsta povrata ove funkcije je Void jer ne vraća vrijednost.
Sintaksa funkcije ponašanja koju je definirao korisnik je:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2:ParameterType2 ... ] ] : ReturnType = { Formula1 [ ; Formula2 ... ] };
- FunctionName – Obavezno. Naziv funkcije koju je definirao korisnik.
- ParameterNames – Nije obavezno. Naziv parametra funkcije.
- ParameterTypes – Nije obavezno. Naziv vrste, ugrađeni naziv vrste podataka, naziv izvora podataka ili vrsta definirana funkcijom Vrsta.
- ReturnType – Obavezno. Vrsta povratne vrijednosti iz funkcije. Koristite Void ako funkcija ne vraća vrijednost.
- Formule – Obavezno. Formula koja izračunava vrijednost funkcije na temelju parametara.
Kao i kod svih Power Fx formula, izvršavanje ne završava kada se naiđe na pogrešku. Nakon što se pozove funkcija Pogreška , funkcija If sprječava promjene uštede i potrošenosti . Funkcija IfError također se može koristiti za sprječavanje daljnjeg izvršavanja nakon pogreške. Iako vraća Void, formula i dalje može vratiti pogrešku ako postoji problem.
Korisnički definirane vrste
Važno
- Korisnički definirani tipovi eksperimentalna su značajka.
- Eksperimentalne značajke nisu namijenjene za produkcijsku upotrebu i možda nisu potpune. Te su značajke dostupne prije službenog izdanja kako biste mogli dobiti rani pristup i dati povratne informacije. Dodatne informacije: Objašnjenje eksperimentalnih, zastarjelih značajki i značajki pretpregleda u aplikacijama od gotovih gradivnih elemenata
- Ponašanje koje je opisano u ovom članku dostupno je samo kada je uključena eksperimentalna značajka Korisnički definirane vrste u Postavkama > Nadolazeće značajke > Eksperimentalno (prema zadanim postavkama je isključena).
- Vaše povratne informacije vrijedne su nam. Javite nam što mislite na forumu Power Apps zajednice eksperimentalnihznačajki.
Imenovane formule mogu se koristiti s funkcijom Type za stvaranje korisnički definiranih tipova. Koristite := umjesto za = definiranje korisnički definirane vrste, na primjer Book := Type( { Title: Text, Author: Text } ). Pogledajte funkciju Type za više informacija i primjere.
Svojstvo OnError
Upotrijebite OnError za poduzimanje radnji kada se pogreška dogodi bilo gdje u aplikaciji. Pruža globalnu priliku za presretanje natpisa s pogreškom prije nego što se prikaže krajnjem korisniku. Također se može koristiti za bilježenje pogreške s funkcijom Trace ili pisanje u bazu podataka ili web-uslugu.
U aplikacijama radnog područja rezultat svake procjene formule provjerava se na pogrešku. Ako se naiđe na pogrešku, OnError se procjenjuje s istim varijablama opsega FirstError i AllErrors koje bi se koristile da je cijela formula umotana u funkciju IfError.
Ako je OnError prazan, zadani natpis pogreške prikazuje firstError.Message pogreške. Definiranjem formule OnError nadjačava se to ponašanje, pa se proizvođač može po potrebi nositi s izvješćivanjem o pogreškama. Zadano ponašanje u programu OnError možete zatražiti ponovnim stvaranjem pogreške pomoću funkcije Pogreška. Pristup ponovnog dodavanja koristite ako želite filtrirati ili drugačije rukovati nekim pogreškama, no drugima omogućite da prodju.
OnError ne može zamijeniti pogrešku u izračunima na način na koji to može IfError . Ako se pozove OnError , pogreška se već dogodila i već je obrađena kroz izračune formula kao što je IfError; OnError kontrolira samo izvješćivanje o pogreškama.
Formule onError računaju se istovremeno i moguće je da se njihova procjena može preklapati s obradom drugih pogrešaka. Ako, primjerice, globalnu varijablu postavite pri vrhu pogreške OnError i kasnije je pročitate u istoj formuli, vrijednost se možda promijenila. Upotrijebite funkciju With za stvaranje imenovane vrijednosti koja je lokalna za formulu.
Iako OnError pojedinačno obrađuje svaku pogrešku, zadani natpis pogreške možda se neće pojedinačno pojavljivati za svaku pogrešku. Da biste izbjegli da se istovremeno prikazuje previše natpisa s pogreškama, isti natpis s pogreškom neće se ponovno prikazati ako je nedavno prikazan.
Primjer
Uzmite u obzir kontrolu Oznaka i kontrolu Klizač koje su povezane formulom:
Label1.Text = 1/Slider1.Value
Klizač se prema zadanim postavkama vraća na 50. Ako se klizač pomakne na 0, Label1 neće prikazivati nikakvu vrijednost i prikazuje se natpis pogreške:
Pogledajmo detaljnije što se dogodilo:
- Korisnik je pomaknuo slajd ulijevo i svojstvo Slide1.Value promijenilo se u 0.
- Oznaka1.Tekst je automatski ponovno procijenjen. Došlo je do dijeljenja s nulom, generirajući pogrešku.
- Ne postoji IfError u ovoj formuli. Pogreška dijeljenja s nulom vraća se procjenom formule.
- Oznaka1.Tekst ne može prikazati ništa za ovu pogrešku, pa prikazuje prazno stanje.
- Poziva se OnError . Budući da nema obrađivača, prikazuje se standardni natpis pogreške s informacijama o pogrešci.
Ako je potrebno, formulu možete promijeniti i u Label1.Text = IfError( 1/Slider1.Value, 0 ). Ako koristite IfError , znači da nema natpisa pogreške ili pogreške. Vrijednost pogreške ne možete promijeniti iz pogreške OnError jer se pogreška već dogodila – OnError upravlja samo načinom na koji se prijavljuje.
Ako dodate rukovatelj onError , on ne utječe na korake prije petog koraka, ali se mijenja način na koji se prijavljuje pogreška:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Uz ovaj rukovatelj onError , korisniku aplikacije ne prikazuje se pogreška. No pogreška se dodaje u praćenje monitora, uključujući izvor informacija o pogrešci iz firstError:
Ako želite prikazati i zadani natpis o pogrešci zajedno s praćenjem, ponovno stvorite pogrešku pomoću funkcije Pogreška nakon poziva praćenja, kao da trace nije bio tamo:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Svojstvo OnStart
Napomena
Korištenje svojstva OnStart može uzrokovati probleme s performansama prilikom učitavanja aplikacije. Stvaramo alternative iz dva razloga za korištenje tog svojstva – predmemoriranje podataka i postavljanje globalnih varijabli. Već postoji alternativa za definiranje prvog zaslona za prikaz pomoću mogućnosti Navigacija. Ovisno o kontekstu, to se svojstvo može onemogućiti po zadanom. Ako je ne vidite i morate je koristiti, u naprednim postavkama aplikacije potražite prekidač da biste je omogućili. Možete koristiti i svojstvo OnVisible zaslona. Prema zadanim postavkama, kada je omogućeno pravilo OnStart koje se deblokira, omogućuje da se funkcija OnStart pokreće istovremeno s drugim pravilima aplikacije. Dakle, ako su varijable referencirane u drugim pravilima aplikacije inicijalizirane unutar funkcije OnStart , možda još nisu potpuno inicijalizirane. Osim toga, zaslon može renderirati i postati interaktivan prije nego što funkcije Screen.OnVisible ili App.OnStart završe, osobito ako im je potrebno dugo vremena da završe.
Svojstvo OnStart izvodi se kada korisnik pokrene aplikaciju. To svojstvo često služi za:
- Dohvaćanje i predmemoriranje podataka u zbirkama pomoću funkcije Collect .
- Postavljanje globalnih varijabli s pomoću funkcije Set.
Ta se formula pokreće prije nego što se prikaže prvi zaslon. Nije učitan nijedan zaslon pa ne možete postaviti varijable konteksta s pomoću funkcije UpdateContext. No pomoću funkcije Navigacija možete proslijediti kontekstne varijable .
Kada promijenite svojstvo OnStart, testirajte ga tako da pokazivač miša postavite iznad objekta aplikacije u oknu prikaza stabla, odaberete trotočje (...), a zatim pokreni OnStart. Za razliku od prvog učitavanja aplikacije, postojeće zbirke i varijable već su postavljene. Kako biste započeli s praznim zbirkama, upotrijebite funkciju ClearCollect umjesto funkcije Collect.
Napomena
- Korištenje funkcije Navigate u svojstvu OnStart je povučeno iz upotrebe. Postojeće aplikacije i dalje funkcioniraju. Ograničeno vrijeme možete omogućiti u postavkama aplikacije (u odjeljku Povučeno iz upotrebe). No korištenje navigacije na taj način može uzrokovati kašnjenja učitavanja aplikacije jer sustav mora završiti s pokretanjem značajke OnStart prije prikazivanja prvog zaslona. Umjesto toga koristite svojstvo StartScreen da biste postavili prvi prikazani zaslon.
- Povučeni je prekidač isključen za aplikacije stvorene prije ožujka 2021. gdje ste dodali mogućnost Idi na početak rada između ožujka 2021. i sada. Prilikom uređivanja tih aplikacija u aplikaciji Power Apps Studio prikazuje se pogreška. Uključite povučeni prekidač da biste uklonili ovu pogrešku.
Svojstvo StartScreen
Svojstvo StartScreen postavlja koji će se zaslon najprije prikazati. Procjenjuje se jednom kada se aplikacija učita i vrati zaslonski objekt za prikaz. Po zadanom je to svojstvo prazno, a prvi zaslon u prikazu stabla studio prikazuje se prvi.
StartScreen je svojstvo protoka podataka koje ne može sadržavati funkcije ponašanja. Dostupne su sve funkcije tijeka podataka. Koristite ove funkcije i signale da biste odlučili koji će se zaslon najprije prikazivati:
- Param funkcija za čitanje parametara koji se koriste za pokretanje aplikacije.
- Korisnička funkcija za čitanje informacija o trenutnom korisniku.
- LookUp, Filter, CountRows, Max i druge funkcije koje čitaju iz izvora podataka.
- API pozivi putem poveznika. Provjerite vraća li se poziv brzo.
- Signali kao što su Connection, Compass i App.
Napomena
Globalne varijable i zbirke, uključujući one stvorene u izborniku OnStart, nisu dostupne na početnom zaslonu. Imenovane formule dostupne su i često su bolja alternativa za ponovnu upotrebu formule u cijeloj aplikaciji.
Ako StartScreen vrati pogrešku, prvi zaslon u prikazu stabla studio prikazuje se kao da StartScreen nije postavljen. Funkciju IfError koristite za hvatanje pogrešaka i preusmjeravanje na zaslon pogreške.
Kada promijenite StartScreen u programu Studio, testirajte ga tako da pokazivač miša postavite iznad objekta aplikacije u oknu prikaza stabla, odaberete trotočje (...), a zatim stavku Idi na StartScreen. Zaslon se mijenja kao da je aplikacija upravo učitana.
Primjeri
Screen9
Screen9 prikazuje se prvi put kada se aplikacija pokrene.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Provjerava je li parametar Param "admin-mode" postavljen i pomoću njega odlučuje prikazuje li se najprije HomeScreen ili AdminScreen.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Provjerava je li sudionik član osoblja i usmjerava ga na ispravan zaslon prilikom pokretanja.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Usmjerava aplikaciju na temelju API poziva na ForestScreen ili OceanScreen. Ako API ne uspije, aplikacija umjesto ErrorScreen toga koristi.
Svojstvo StudioVersion
Pomoću svojstva StudioVersion prikažite ili zapišite verziju programa Power Apps Studio koja se koristi za objavljivanje aplikacije. To svojstvo pomaže prilikom ispravljanja pogrešaka i provjere je li aplikacija ponovno objavljena pomoću nedavne verzije aplikacije Power Apps Studio.
StudioVersion vraća tekst. Oblik ovog teksta može se promijeniti s vremenom, pa ga tretirajte kao cjelinu i ne izdvajajte pojedinačne dijelove.