Deli z drugimi prek


Predmet »App« v rešitvi Power Apps

Velja za: Aplikacije Canvas Aplikacije, ki temeljijo na modelu

Zagotavlja informacije o trenutno delujoči aplikaciji in upravljanju delovanja aplikacije.

Opis

Podobno kot kontrolnik tudi predmet App ponuja lastnosti, ki določajo, kateri zaslon se prikazuje, in uporabnika pozivajo, da shrani spremembe, da se ne izgubijo. Vsaka aplikacija ima predmet App.

Za nekatere lastnosti predmeta App lahko zapišete formule. Na vrhu podokna Drevesni pogled izberite predmet App, kot bi izbrali kateri koli drug kontrolnik ali zaslon. Oglejte si eno od lastnosti predmeta in jo uredite tako, da jo izberete na spustnem seznamu na levi strani vnosne vrstice.

Predmet aplikacije v podoknu drevesnega pogleda.

Lastnost ActiveScreen

Lastnost ActiveScreen prepozna zaslon, ki je prikazan.

Ta lastnost vrne zaslonski objekt. Uporabite ga za sklicevanje na lastnosti trenutno prikazanega zaslona, ​​kot je ime s formulo App.ActiveScreen.Name. To lastnost lahko primerjate tudi z drugim zaslonskim objektom, na primer s primerjalno formulo App.ActiveScreen = Screen2 da preizkusite, če Screen2 je trenutno prikazan zaslon.

S funkcijo Back ali Navigate spremenite prikazani zaslon.

Lastnost BackEnabled

Lastnost BackEnabled spreminja, kako se aplikacija odziva na potezo naprave nazaj (povlecite ali uporabite strojni gumb nazaj na Android napravah, povlecite z leve na iOS naprave), ko se izvaja v Power Apps mobilnem. Ko je omogočena, se naprava s potezo nazaj pomakne nazaj na zaslon, ki je bil nazadnje prikazan, kar je podobno formuli Nazaj . Ko je ta možnost onemogočena, vrne naprava uporabnika nazaj na seznam aplikacij.

Lastnosti ConfirmExit

Nihče ne želi izgubiti neshranjenih sprememb. S lastnostma ConfirmExit in ConfirmExitMessage opozorite uporabnika, preden zapre vašo aplikacijo.

opomba,

  • ConfirmExit ne deluje v aplikacijah, ki so na primer vdelane v Power BI in SharePoint.
  • Zdaj se lahko te lastnosti sklicujejo na kontrolnike samo na prvem zaslonu, če je omogočena funkcija predogleda Odloženo nalaganje (kar je privzeto za nove aplikacije). V primeru sklicev Power Apps Studio ne prikaže napake, vendar se končna objavljena aplikacija ne odpre v storitvi Power Apps za mobilne naprave ali brskalniku. Aktivno si prizadevamo za odpravo te omejitve. Medtem lahko izklopite možnosti Zapoznelo nalaganje v razdelku Nastavitve>Prihajajoče funkcije (v razdelku Predogled).

ConfirmExit

ConfirmExit je logična lastnost, ki, ko je true, odpre potrditveno pogovorno okno, preden se aplikacija zapre. Privzeto je ta lastnost nastavljena na false in se ne pojavi nobeno pogovorno okno.

V primerih, ko ima uporabnik morda neshranjene spremembe v aplikaciji, uporabite to lastnost za prikaz potrditvenega pogovornega okna pred izhodom iz aplikacije. Uporabite formulo, s katero lahko preverite spremenljivke in lastnosti kontrolnikov (npr. lastnost Unsaved pri kontrolniku Edit form).

Potrditveno pogovorno okno se prikaže v vsakem primeru, ko se podatki lahko izgubijo, npr. v naslednjih primerih:

  • Izvajanje funkcije Exit.
  • Če se aplikacija izvaja v brskalniku:
    • Zapiranje brskalnika ali zavihka brskalnika, v katerem se aplikacija izvaja.
    • Izbira gumba »Nazaj« v brskalniku.
    • Izvedba funkcije Launch z argumentom LaunchTarget možnosti Self.
  • Če se aplikacija izvaja v Power Apps Mobile (iOS ali Android):
    • Podrsanje za preklop na drugo aplikacijo v storitvi Power Apps za mobilne naprave.
    • Izbira gumba »Nazaj« v napravi Android.
    • Izvedba funkcije Launch za zagon druge aplikacije delovnega območja.

Natančen videz potrditvenega pogovornega okna se lahko razlikuje glede na napravo in različico storitve Power Apps.

Potrditveno pogovorno okno se ne prikaže v storitvi Power Apps Studio.

ConfirmExitMessage

Privzeto se v potrditvenem pogovornem oknu prikaže splošno sporočilo v jeziku uporabnika, npr. »Morda imate neshranjene spremembe.«

Z možnostjo ConfirmExitMessage zagotovite sporočilo po meri v potrditvenem pogovornem oknu. Če je ta lastnost prazna, se uporabi privzeta vrednost. Sporočila po meri so prirezana, kolikor je potrebno, da se prilegajo potrditvenemu pogovornemu oknu, zato naj bo sporočilo dolgo največ nekaj vrstic.

V brskalniku se lahko prikaže potrditveno pogovorno okno s splošnim sporočilom brskalnika.

opomba,

Predmet aplikacije ima še dve lastnosti OnMessage in BackEnabled, ki sta eksperimentalni. Te lastnosti bodo sčasoma odstranjene iz predmeta aplikacije. Priporočamo, da teh lastnosti ne uporabljate v svojem produkcijskem okolju.

Primer

  1. Ustvarite aplikacijo, ki vsebuje dva kontrolnika za obrazce, AccountForm in ContactForm.

  2. Nastavite lastnost ConfirmExit za predmet Aplikacija na ta izraz:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    To pogovorno okno se prikaže, če uporabnik spremeni podatke v katerem koli obrazcu in nato poskusi zapreti aplikacijo, ne da bi te spremembe shranil.

    Splošno potrditveno pogovorno okno.

  3. Nastavite lastnost ConfirmExitMessage za predmet Aplikacija na to formulo:

    If( AccountsForm.Unsaved,
        "Accounts form has unsaved changes.",
        "Contacts form has unsaved changes."
    )
    

    To pogovorno okno se prikaže, če uporabnik spremeni podatke v obrazcu kupca in nato poskusi zapreti aplikacijo, ne da bi te spremembe shranil.

    Potrditveno pogovorno okno, specifično za obrazec.

Nastavite instrumentacijski ključ za Application Insights

Če želite izvoziti sistemsko ustvarjene dnevnike aplikacij v Application Insights, morate nastaviti Instrumentacijski ključ za svojo aplikacijo Canvas.

  1. Odprite aplikacijo za urejanje v Power Apps Studio.
  2. Izberite predmet App v levem drevesnem pogledu navigacije.
  3. V podokno z lastnostmi vnesite instrumentacijski ključ .

Če podatki niso poslani aplikaciji Insights, se obrnite na svojega Power Platform skrbnika in preverite, ali je App Insights onemogočen na ravni najemnika.

Lastnost formul

Uporabite imenovane formule v lastnosti Formule, da definirate formulo, ki jo je mogoče znova uporabiti v vaši aplikaciji.

V Power Apps formule določajo vrednost kontrolnih lastnosti. Na primer, če želite dosledno nastaviti barvo ozadja v aplikaciji, lahko nastavite lastnost Zapolni za vsako na skupno formulo:

Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )

Ker lahko veliko število mest, kjer se lahko pojavi ta formula, vodi do dolgočasnosti in nagnjenosti k napakam posodobitve vseh, če je potrebna sprememba. Namesto tega lahko ustvarite globalno spremenljivko v OnStart, da enkrat nastavite barvo in nato znova uporabite vrednost v celotni aplikaciji:

App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Medtem ko je ta metoda boljša, je odvisna tudi od zagona aplikacije OnStart, preden se vzpostavi vrednost za BGColor. BGColor je lahko tudi spremenjen v nekem kotu aplikacije, ki se ga izdelovalec ne zaveda, sprememba, ki jo je naredil nekdo drug, in to je težko izslediti.

Imenovane formule ponujajo alternativo. Tako kot običajno pišemo control-property = izraz, lahko namesto tega napišemo name = izraz in nato ponovno uporabimo ime v naši aplikaciji za zamenjavo izraza. Definicije teh formul so izvedene v lastnosti Formule:

App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Prednosti uporabe imenovanih formul vključujejo naslednje:

  • Vrednost formule je vedno na voljo. Ni časovne odvisnosti, ni aplikacije OnStart, ki se mora najprej zagnati, preden se nastavi vrednost, ni časa, v katerem je vrednost formule nepravilna. Imenovane formule se lahko sklicujejo druga na drugo v poljubnem vrstnem redu, če ne ustvarijo krožnega sklica. Lahko se izračunajo vzporedno.
  • Vrednost formule je vedno posodobljena. Formula lahko izvede izračun, ki je odvisen od lastnosti kontrolnika ali zapisov zbirke podatkov, in ko se spremenijo, se vrednost formule samodejno posodobi. Vrednosti vam ni treba ročno posodabljati, kot to počnete s spremenljivko. In formule preračunajo samo, ko je to potrebno.
  • Definicija formule je nespremenljiva. Definicija pod Formule je edini vir resnice in vrednosti ni mogoče spremeniti nikjer drugje v aplikaciji. Pri spremenljivkah je možno, da neka koda nepričakovano spremeni vrednost, vendar ta situacija, v kateri je težko odpraviti napake, ni mogoča z imenovanimi formulami.
  • Izračun formule je mogoče odložiti. Ker je njegova vrednost nespremenljiva, jo je mogoče vedno izračunati, ko je to potrebno, kar pomeni, da je ni treba izračunati, dokler ni potrebna. Vrednosti formule, ki se ne uporabijo, dokler ni prikazan zaslon screen2 aplikacije, ni treba izračunati, dokler zaslon screen2 ni viden. Če odložite to delo, lahko izboljšate čas nalaganja aplikacije. Imenovane formule so deklarativne in nudijo sistemu možnosti za optimizacijo načina in časa njihovega izračuna.
  • Poimenovane formule so koncept programa Excel. Power Fx uporablja koncepte programa Excel, kjer je to mogoče, saj veliko ljudi dobro pozna Excel. Imenovane formule so enakovredne poimenovanim celicam in poimenovanim formulam v programu Excel, ki jih upravljate z upraviteljem imen. Samodejno znova izračunajo, kot to počnejo celice preglednice in lastnosti nadzora.

Imenovane formule so opredeljene ena za drugo v lastnosti Formulas, vsaka pa se konča s podpičjem. Vrsta formule se sklepa na podlagi vrst elementov v formuli in njihove skupne uporabe. Na primer, te imenovane formule pridobijo koristne informacije o trenutnem uporabniku iz 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' );

Če je treba formulo za UserTitle posodobiti, lahko to preprosto storite na tej eni lokaciji. Če možnost UserPhone v aplikaciji ni potrebna, potem ti klici v tabelo Uporabniki v Dataverse niso izvedene. Za vključitev definicije formule, ki ni uporabljena, ni nobene kazni.

Nekatere omejitve imenovanih formul:

  • Ne morejo uporabljati vedenjskih funkcij ali drugače povzročati stranskih učinkov v aplikaciji.
  • Ne morejo ustvariti krožnega sklica. Imeti a = b; in b = a; v isti aplikaciji ni dovoljeno.

Uporabniško določene funkcije

Pomembno

Power Fx vključuje dolg seznam vgrajenih funkcij, kot so Če, Besedilo in Set. Uporabniško določene funkcije vam omogočajo pisanje lastnih funkcij, ki sprejemajo parametre in vračajo vrednost, tako kot to počnejo vgrajene funkcije. Uporabniško definirane funkcije si lahko predstavljate kot razširitev poimenovanih formul, ki dodaja parametre in podpira vedenjske formule.

Na primer, lahko definirate imenovano formulo, ki vrne leposlovne knjige iz knjižnice:

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" );

Brez parametrov bi morali definirati ločene poimenovane formule za vsako zvrst. Toda namesto tega parametrizirajmo našo imenovano formulo:

LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );

LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );

Zdaj lahko pokličemo LibraryGenre( "Fiction" ), LibraryGenre( "Reference" ) ali filtriramo druge žanre z eno samo uporabniško definirano funkcijo.

Sintaksa je:

ImeFunkcije( [ ImeParametra1: VrstaParametra1 [, ImeParametra2: VrstaParametra2 ... ] ] ) : VrstaPovratka = Formula;

  • FunctionName – Zahtevano. Ime uporabniško določene funkcije.
  • Imena parametrov – Izbirno. Ime parametra funkcije.
  • ParameterTypes – Izbirno. Ime vrste, bodisi vgrajeno ime tipa podatkov, ime vira podatkov ali tip, definiran z Tip funkcija.
  • ReturnType – Zahtevano. Vrsta vrnjene vrednosti iz funkcije.
  • Formula – obvezno. Formula, ki izračuna vrednost funkcije na podlagi parametrov.

Vsak parameter in izhod iz uporabniško definirane funkcije je treba vnesti. V tem primeru SelectedGenre: Text definira, da je prvi parameter naše funkcije tipa Besedilo in SelectedGenre je ime parameter, ki se uporablja v telesu za operacijo filtra. Glejte Vrste podatkov za podprta imena vrst. Funkcija Type se uporablja za ustvarjanje agregatnega tipa za našo knjižnico, tako da lahko vrnemo tabelo knjig iz naše funkcije.

Definirali smo LibraryType kot množinsko tabelo vrste zapisov. Če želimo funkciji posredovati eno knjigo, lahko izvlečemo vrsto zapisa za to tabelo s RecordOf funkcijo:

BookType := Type( RecordOf( LibraryType ) );

IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);

Ujemanje zapisov za parametre funkcije je tesnejše kot v drugih delih Power Fx. Polja vrednosti zapisa morajo biti ustrezna podmnožica definicije tipa in ne smejo vključevati dodatnih polj. Na primer, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) bo povzročilo napako.

Upoštevajte, da uporabniško določene funkcije še ne podpirajo rekurzije.

Uporabniško definirane funkcije obnašanja

Poimenovane formule in večina uporabniško določenih funkcij ne podpirajo vedenjskih funkcij s stranskimi učinki, kot je Set ali Notify. Na splošno je najbolje, da se izognete posodabljanju stanja, če se lahko, namesto tega se zanašate na funkcionalne vzorce programiranja in omogočite Power Fx samodejno preračunavanje formul po potrebi. Toda obstajajo primeri, ko je to neizogibno. Če želite v uporabniško določeno funkcijo vključiti logiko obnašanja, ovijte telo v zavite oklepaje:

Spend( Amount: Number ) : Void = {
    If( Amount > Savings, 
        Error( $"{Amount} is more than available savings" ),
        Set( Savings, Savings - Amount );
        Set( Spent, Spent + Amount) 
    );
}

Zdaj lahko pokličemo Spend( 12 ) da preverimo, ali imamo 12 v naših prihrankih, in če je tako, jih bremenimo za 12 in dodamo 12 spremenljivki Porabljeno. Vrsta vrnitve te funkcije je Void ker ne vrne vrednosti.

Sintaksa vedenjske uporabniško definirane funkcije je:

ImeFunkcije( [ ImeParametra1: VrstaParametra1 [, Ime parametra2: Vrsta parametra2 ... ] ] ) : ReturnType = { Formula1 [ ; Formula2 ... ] };

  • FunctionName – Zahtevano. Ime uporabniško določene funkcije.
  • Imena parametrov – Izbirno. Ime parametra funkcije.
  • ParameterTypes – Izbirno. Ime tipa, bodisi vgrajeno ime tipa podatkov, ime vira podatkov ali tip, definiran z Tip funkcija.
  • ReturnType – Zahtevano. Vrsta vrnjene vrednosti iz funkcije. Uporabite Void če funkcija ne vrne vrednosti.
  • Formule – obvezno. Formula, ki izračuna vrednost funkcije na podlagi parametrov.

Kot pri vseh Power Fx formulah se izvajanje ne konča, ko pride do napake. Po klicu funkcije Error je If funkcija prepreči spremembe do Prihrankov in Porabljenih da se ne zgodi. Funkcijo IfError lahko uporabite tudi za preprečitev nadaljnjega izvajanja po napaki. Čeprav vrne Void, lahko formula še vedno vrne napako, če pride do težave.

Uporabniško določene vrste

Pomembno

Poimenovane formule lahko uporabite s funkcijo Type za ustvarjanje uporabniško določenih tipov. Uporabite := namesto = za definiranje uporabniško določene vrste, na primer Book := Type( { Title: Text, Author: Text } ). Glejte Type funkcijo za več informacij in primere.

Lastnost OnError

Uporabite OnError za ukrepanje, ko kjer koli v aplikaciji pride do napake. Zagotavlja globalno priložnost za prestrezanje pasice z napako, preden se prikaže končnemu uporabniku. Uporablja se lahko tudi za beleženje napake s funkcijo Sledenje ali pisanje v zbirko podatkov ali spletno storitev.

V aplikacijah Canvas se rezultat vsake ocene formule preveri glede napake. Če pride do napake, se OnError ovrednoti z enakima FirstError in AllErrors spremenljivke obsega, ki bi bile uporabljene, če bi bila celotna formula ovita v IfError funkcija.

Če je OnError prazno, se prikaže privzeta pasica z napako z FirstError.Message napake. Definiranje formule OnError preglasi to vedenje in omogoča izdelovalcu, da obravnava poročanje o napakah, kot se mu zdi primerno. Vedenje je lahko zahtevano v OnError s ponovno vrnitvijo napake z Error funkcijo. Uporabite pristop ponovnega metanja, če želite nekatere napake filtrirati ali obravnavati na drugačen način, druge pa prepustiti.

OnError ne more nadomestiti napake v izračunih tako kot IfError . Če je OnError priklican, se je napaka že zgodila in je že bila obdelana z izračuni formule, kot je IfError; OnError nadzira samo poročanje o napakah.

Formule OnError se ocenjujejo sočasno in možno je, da se njihovo vrednotenje prekriva z obdelavo drugih napak. Če na primer nastavite globalno spremenljivko na vrh OnError in jo preberete pozneje v isti formuli, se je vrednost morda spremenila. Uporabite With funkcijo za ustvarjanje imenovane vrednosti, ki je lokalna za formulo.

Čeprav OnError vsako napako obdela posebej, se privzeta pasica z napako morda ne prikaže za vsako napako posebej. Da bi se izognili hkratnemu prikazovanju preveč pasic z napakami, ista pasica z napakami ne bo ponovno prikazana, če je bila prikazana pred kratkim.

Primer

Razmislite o kontrolniku Oznaka in kontrolniku Drsnik, ki sta povezana s formulo:

Label1.Text = 1/Slider1.Value

Kontrolnik oznake in drsnika, vezan s formulo Label1.Text = 1/Slider1.Value.

Privzeta vrednost drsnika je 50. Če drsnik premaknete na 0, pod Label1 ne bo prikazana nobena vrednost in prikazana je pasica z napako:

Nadzor drsnika je bil premaknjen na 0, kar je povzročilo napako deljenja z ničlo in pasico napake.

Poglejmo podrobneje, kaj se je zgodilo:

  1. Uporabnik je premaknil drsnik v levo in lastnost Slide1.Value se je spremenila na 0.
  2. Label1.Text je bil samodejno ponovno ovrednoten. Prišlo je do deljenja z ničlo, kar je povzročilo napako.
  3. V tej formuli ni IfError. Napaka deljenja z nič vrne vrednotenje formule.
  4. Label1.Text ne more prikazati ničesar za to napako, zato prikazuje prazno stanje.
  5. Prikliče se OnError . Ker ni obravnave, je standardna pasica napake prikazana z informacijami o napaki.

Po potrebi lahko formulo tudi spremenimo v Label1.Text = IfError( 1/Slider1.Value, 0 ). Uporaba IfError ne bo povzročila nobene napake ali pasice z napako. Vrednosti napake ne moremo spremeniti iz OnError ker se je na tej točki napaka že zgodila, vprašanje je le, kako bo sporočena.

Če dodamo OnError obravnavalnik, nima vpliva pred 5. korakom, lahko pa vpliva na to, kako se napaka poroča:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" )

Formula App.OnError je nastavljena za ustvarjanje sledi.

S tem OnError obravnavalcem na mestu z vidika uporabnika aplikacije ne bo nobene napake. Toda napaka bo dodana v sled monitorja, skupaj z virom informacij o napaki iz FirstError:

Kontrolnik drsnika je bil premaknjen na 0, kar je povzročilo napako deljenja z nič, vendar brez pasice napake.

Če želimo poleg sledenja prikazati tudi isto privzeto pasico z napako, lahko napako znova prikličemo s funkcijo Napaka za klic Sledenje tako kot bi se zgodilo, če Sledenje ne bi bilo prisotno:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )

Lastnost OnStart

opomba,

Uporaba lastnosti OnStart lahko povzroči težave z zmogljivostjo pri nalaganju aplikacije. Smo v procesu ustvarjanja nadomestnih možnosti za glavna dva razloga za uporabo predpomnjenja podatkov lastnosti in nastavitev globalnih spremenljivk. Ustvarili smo že alternativo za določanje prvega zaslona, ki bo prikazan s funkcijo Navigate. Odvisno od vašega konteksta je lahko ta lastnost privzeto onemogočena. Če ga ne vidite in ga morate uporabiti, preverite napredne nastavitve aplikacije za stikalo, da ga omogočite. Uporabite lahko tudi lastnost zaslona OnVisible. Privzeto, ko je omogočeno neblokirno pravilo OnStart , omogoča sočasno izvajanje funkcije OnStart druga pravila aplikacije. Torej, če so spremenljivke, navedene v drugih pravilih aplikacije, inicializirane znotraj funkcije OnStart , morda še niso v celoti inicializirane. Poleg tega obstaja možnost, da lahko zaslon upodablja in postane interaktiven pred Screen.OnVisible ali App.OnStart funkcije se končajo z izvajanjem, zlasti če trajajo dolgo časa.

Lastnost OnStart se izvede, ko uporabnik zažene aplikacijo. Ta lastnost se pogosto uporablja za izvajanje naslednjih nalog:

  • Pridobite podatke in jih predpomnite v zbirke s funkcijo Collect.
  • S funkcijo Set nastavite globalne spremenljivke.

Ta formula se oceni, preden se pojavi prvi zaslon. Noben zaslon se ne naloži, zato ne morete nastaviti spremenljivk konteksta s funkcijo UpdateContext. Vendar lahko spremenljivke konteksta preskočite s funkcijo Navigate.

Ko spremenite lastnost OnStart, jo preizkusite tako, da pomaknete kazalec miške nad predmet Aplikacija v podoknu Drevesni pogled, izberite tri pike (...) in nato izberite Run OnStart. Za razliko od prvega nalaganja aplikacije bodo obstoječe zbirke in spremenljivke zdaj že nastavljene. Za začetek s praznimi zbirkami uporabite funkcijo ClearCollect namesto funkcije Collect.

Priročni meni predmeta »Aplikacija« za možnost »Run OnStart«

opomba,

  • Uporaba funkcije Navigate v lastnosti OnStart je opuščena. Obstoječe aplikacije bodo še naprej delovale. Za omejen čas ga lahko še vedno omogočite v nastavitvah aplikacije (na voljo pod Umaknjeno). Vendar pa lahko tovrstna uporaba možnosti Navigate povzroči zamude pri nalaganju aplikacije, saj prisili sistem, da dokonča oceno lastnosti OnStart pred prikazom prvega zaslona. Uporabite lastnost StartScreen za izračun prvega prikazanega zaslona.
  • Umaknjeno stikalo bo izklopljeno za aplikacije, ustvarjene pred marcem 2021, kjer ste dodali Navigate to OnStart med marcem 2021 in zdaj. Ko urejate takšne aplikacije v Power Apps Studio, se vam bo morda prikazala napaka. Vklopite umaknjeno stikalo, da počistite to napako.

Lastnost StartScreen

Lastnost StartScreen določa, kateri zaslon bo prikazan prvi. Oceni se enkrat, in sicer ko se aplikacija naloži, in vrne predmet zaslona, ki bo prikazan. Privzeto je ta lastnost prazna in prvi zaslon v pogledu Studio Tree je prikazan prvi.

StartScreen je lastnost toka podatkov, ki ne more vsebovati vedenjskih funkcij. Na voljo so vse funkcije toka podatkov, vendar te funkcije in signale uporabite predvsem za določitev, kateri zaslon naj se prikaže prvi:

  • Param funkcija za branje parametrov, ki se uporabljajo za zagon aplikacije.
  • Uporabniška funkcija za branje informacij o trenutnem uporabniku.
  • Iskanje, Filter, Štetje vrstic, Največ in druge funkcije, ki berejo iz vira podatkov.
  • Vsi klici API-ja prek povezovalnika, vendar bodite previdni, da se vrednost hitro vrne.
  • Signali, kot so Connection, Compass in App.

opomba,

Globalne spremenljivke in zbirke, vključno s tistimi, ustvarjenimi v OnStart, niso na voljo v StartScreen. Poimenovane formule so na voljo in so pogosto boljša alternativa za ponovno uporabo formul v aplikaciji.

Če StartScreen vrne napako, bo prvi zaslon v drevesnem pogledu aplikacije Studio prikazan, kot da lastnost StartScreen ni bila nastavljena. Uporabite funkcijo IfError, da ujamete morebitne napake in jih preusmerite na ustrezen zaslon z napakami.

Ko spremenite lastnost StartScreen v aplikaciji Studio, jo preizkusite tako, da pomaknete kazalec miške nad predmet Aplikacija v podoknu Drevesni pogled, izberete tri pike (...) in nato izberite Navigate to StartScreen. Zaslon se bo spremenil, kot da bi bila aplikacija pravkar naložena.

Pomik na »StartScreen«

Primeri

Screen9

Pomeni, da bi morala biti lastnost Screen9 prikazana prva po zagonu aplikacije.

If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )

Preveri, ali je parameter »admin-mode« nastavil uporabnik, in ga uporabi za odločitev, ali naj se najprej prikaže HomeScreen ali AdminScreen.

If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )

Preveri, ali je udeleženec konference član osebja, in ga ob zagonu usmeri na ustrezen zaslon.

IfError( If( CustomConnector.APICall() = "Forest", 
             ForestScreen, 
             OceanScreen 
         ), 
         ErrorScreen 
)

Usmeri aplikacijo na podlagi klica API-ja v ForestScreen ali OceanScreen. Če API iz kakršnega koli razloga ni uspešen, se uporabi ErrorScreen.

Lastnost StudioVersion

Uporabite lastnost StudioVersion za prikaz ali beleženje različice Power Apps Studio ki je bila uporabljena za objavo aplikacije. To je lahko uporabno pri odpravljanju napak in pri zagotavljanju, da je bila vaša aplikacija ponovno objavljena z najnovejšo različico Power Apps Studio.

StudioVersion se vrne kot besedilo. Format besedila se lahko sčasoma spremeni in ga je treba obravnavati kot celoto; izogibajte se ekstrakciji posameznih porcij.