Jagamisviis:


Rakenduse objekt Power Appsis

Kehtib: Lõuendirakendused

Saate teavet parajasti töötava rakenduse kohta ja reguleerida rakenduse käitumist.

Kirjeldus

Sarnaselt juhtelemendiga on rakenduseobjektil atribuudid, mis tuvastavad, milline ekraan kuvatakse, ja palub teil muudatused salvestada, et need kaotsi ei jääks. Igal rakendusel on objekt Rakendus.

Kirjutage rakenduseobjekti mõne atribuudi valemid. Paani Puu vaade ülaosas valige objekt Rakendus, nagu teeksite seda iga teise juhtelemendi või ekraaniga. Mõne objekti atribuudi kuvamiseks või redigeerimiseks valige see valemiribast vasakul asuvast ripploendist.

Puuvaate paanil valitud rakenduseobjekti kuvatõmmis. Atribuutide paan on nähtav.

Atribuut ActiveScreen

Atribuut ActiveScreen tuvastab parajasti kuvatava ekraani.

See atribuut tagastab ekraaniobjekti. Selle abil saate viidata praeguse kuva atribuutidele (nt nimele, mille valem App.ActiveScreen.Name). Samuti saate seda atribuuti võrrelda mõne muu ekraaniobjektiga , näiteks võrdlusvalemiga App.ActiveScreen = Screen2 , et kontrollida, kas Screen2 on praegune ekraan.

Kuvatava kuva vahetamiseks kasutage funktsiooni Tagasi või Navigeeri .

Atribuut BackEnabled

Atribuut BackEnabled muudab seda, kuidas rakendus reageerib seadme tagasiliigutusele (nipsake või kasutage Androidi seadmetes riistvaratagastusnuppu või nipsake iOS-seadmetes vasakult) Power Appsi mobiiliversioonis töötamisel. Kui see on lubatud, liigub seadme tagasiliigutus viimati kuvatud ekraanile, mis sarnaneb valemiga Tagasi . Kui see on keelatud, viib seadme tagasiliigutus kasutaja rakenduseloendisse.

Atribuudid ConfirmExit

Mitte keegi ei taha salvestamata muudatusi kaotada. Kasutage atribuute ConfirmExit ja ConfirmExitMessage , et hoiatada kasutajat enne rakenduse sulgemist.

Märkus.

  • ConfirmExit ei tööta rakendustes, mis on manustatud näiteks Power BI-sse ja SharePointi.
  • ConfirmExit pole kohandatud lehtedel toetatud.
  • Nüüd saavad need atribuudid juhtelementidele viidata ainult esimesel ekraanil, kui viivitusega koormuse eelvaate funktsioon on lubatud (see on vaikimisi uute rakenduste jaoks). Kui viitate muudele kuvadele, ei kuva Power Apps Studio tõrget, kuid avaldatud rakendus ei avane Power Apps Mobile'is ega brauseris. Töötame selle piirangu tühistamise nimel. Seni lülitage sätete> (jaotises Eelvaade) välja viivitatud koormus.

ConfirmExit

ConfirmExit on kahendatribuut, mis kui tõene on, avab enne rakenduse sulgumist kinnitusdialoogiboksi. Vaikimisi on selle atribuudi väärtuseks väär ja dialoogiboksi ei kuvata.

Kui kasutajal võib rakenduses olla salvestamata muudatusi, saate selle atribuudi abil enne rakendusest väljumist kuvada kinnituse dialoogiboksi. Kasutage valemit, mis kontrollib muutujaid ja juhtelemendi atribuute (nt vormi juhtelemendi Redigeeri vormisalvestamata atribuuti).

Kinnituse dialoogiboks kuvatakse igas olukorras, kus andmed võivad kaotsi läinud olla, näiteks:

  • Käivitage funktsioon Exit .
  • Kui rakendus töötab brauseris, tehke järgmist.
    • Sulgege brauser või brauseri vahekaart, kus rakendus töötab.
    • Valige brauseri nupp Tagasi.
    • Käivitage funktsioon Launch funktsiooniga LaunchTarget of Self.
  • Kui rakendus töötab rakenduses Power Apps Mobile (iOS või Android), tehke järgmist.
    • Nipsake Power Apps Mobile'is mõne muu rakenduse aktiveerimiseks.
    • Valige Androidi seadmes nupp Tagasi.
    • Mõne muu lõuendirakenduse käivitamiseks käivitage funktsioon Launch .

Kinnitusdialoogiboksi täpne ilme võib erinevates seadmetes ja Power Appsi versioonides erineda.

Kinnituse dialoogiboksi ei kuvata Power Apps Studios.

ConfirmExitMessage

Vaikimisi kuvab kinnituse dialoogiboks üldise sõnumi nagu näiteks "Teil võib olla salvestamata muudatusi.” kasutaja keeles.

Kasutage elementi ConfirmExitMessage kinnituse dialoogiboksis kohandatud sõnumi edastamiseks. Kui see atribuut on tühi, kasutatakse vaikeväärtust. Kohandatud sõnumeid kärbitakse vastavalt vajadusele, et need mahuksid kinnitusdialoogiboksi, seega jätke sõnum kõige rohkem paarile reale.

Brauseris saab kinnitusdialoogiboksis kuvada brauseri üldise sõnumi.

Märkus.

Rakenduseobjektil on veel kaks atribuuti OnMessage ja BackEnabled, mis on eksperimentaalsed. Need atribuudid eemaldatakse rakenduseobjektist. Ärge kasutage neid atribuute oma töökeskkonnas.

Näide

  1. Määrake objekti Rakendus atribuut ConfirmExit järgmisele avaldisele:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Dialoogiboksis kuvatakse, kas kasutaja muudab andmeid mõlemal vormil, ja proovib siis rakendust sulgeda neid muudatusi salvestamata.Kasutaja muudab andmeid mõlemal vormil ja proovib siis rakenduse sulgeda ilma neid muudatusi salvestamata.

    [!div clas1. Määrake objekti Rakendus atribuut ConfirmExitMessage järgmisele valemile:

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

    Dialoogiboksis kuvatakse, kas kasutaja muudab andmeid vormil Konto ja proovib siis rakendust sulgeda neid muudatusi salvestamata.

    Vormipõhine kinnituse dialoogiboks.

Rakenduseülevaadete ühendusstringi häälestamine

Süsteemi loodud rakenduste logide eksportimiseks rakendusse Ülevaated häälestage lõuendirakenduse ühendusstring .

  1. Avage rakendus redigeerimiseks Power Apps Studio.
  2. Valige vasakpoolses navigeerimispuu vaates objekt App .
  3. Sisestage atribuutide paanile ühendusstring .

Kui rakendusülevaatesse ei saadeta andmeid, pöörduge oma Power Platformi administraatori poole ja kontrollige, kas rakenduseülevaade on rentniku tasemel keelatud.

Valemite atribuudid

Kasutage atribuudis Valemid nimega valemeid atribuuti , et määratleda valem, mida saab kogu rakenduses uuesti kasutada.

Valemid Power Apps määravad kontrollomaduste väärtuse. Näiteks taustvärvi järjepidevalt rakenduseti järjepidev Täitmine võib seada atribuudi ühtseks valemiks:

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

Kuna see valem võib ilmuda nii paljudes kohtades, muutub nende kõigi värskendamine, kui on vaja muudatusi, tüütuks ja veaohtlikuks. Selle asemel saate luua OnStart globaalse muutuja, et värvi üks kord määrata, ja seejärel kasutada väärtust kogu rakenduses:

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

Kuigi see meetod on parem, sõltub see ka rakendusest OnStart , mis töötab enne BGColor välja töötamist. BGColoriga võidakse manipuleerida ka rakenduse mõnes nurgas, millest tegija pole teadlik, kellegi teise tehtud muudatusest ja millele võib olla raske jälile saada.

Nimega valemid pakuvad alternatiivi. Nagu me tavaliselt kirjutame juhtelemendi atribuut = avaldis, asemel võib kirjutada nimi = avaldis ja seejärel uuesti kasutada nimi asendamiseks rakenduse avaldises. Nende valemite määratlusi kasutatakse Valemid atribuudis:

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

Nimega valemite kasutamise eelised on järgmised:

  • Valemi väärtus on alati saadaval. Pole ajastussõltuvust, pole rakendust OnStart mis peab käivituma esmalt enne väärtuse seadmist, pole aega, mil valemi väärtus on vale. Nimega valemid võivad üksteisele viidata igas järjekorras, kui nad ei loo ringviitet. Neid saab arvutada paralleelselt.
  • Valemi väärtus on alati ajakohane. Valem võib teostada arvutuse, mis sõltub juhtelemendi atribuutidest või andmebaasikirjetest, ja kui need muutuvad, siis valemi väärtus värskendatakse automaatselt. Muutuja puhul ei pea väärtust käsitsi värskendama. Ja valemeid arvutatakse ümber ainult vajadusel.
  • Valemi määratlus on muutumatu. Määratlus Valemites on üks sisestamisallikas ning väärtust ei saa rakenduses mujal muuta. Muutujate puhul on võimalik, et mõni kood muudab väärtust ootamatult, kuid see keeruline silumisolukord pole nimega valemite puhul võimalik.
  • Valemi arvutuse saab edasi lükata. Kuna selle väärtus on muutumatu, saab seda alati vajadusel arvutada, mis tähendab, et seda ei pea arvutama enne, kui seda on vaja. Valemiväärtusi, mida ei kasutata enne kui kuvatakse rakendus ekraan2 ei pea arvutama enne kui ekraan2 on nähtav. Selle töö edasilükkamine võib parandada rakenduse laadimisaega. Nimega valemid on deklaratiivsed ja pakuvad süsteemi jaoks võimalusi arvutamise aja optimeerimiseks.
  • Nimega valemid on Exceli kontseptsiooniks. Power Fx kasutab võimalusel Excel-i mõisteid, kuna nii paljud inimesed teavad Excel-it hästi. Nimega valemid on nimega lahtrite ja nimega valemite ekvivalendid Excelis, mida hallatakse nimehalduriga. Need arvutavad automaatselt ümber nagu arvutustabeli lahtrid ja juhtelemendi atribuudid.

Nimega valemid määratletakse atribuudis Valemid, lõpetades iga semikooloniga. Valemi tüüp tuletatakse valemis olevate elementide tüüpidest ja sellest, kuidas neid koos kasutatakse. Näiteks need nimega valemid võivad tuua kasulikku teavet praeguse kasutaja Dataverse rakenduse kohta:

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

Kui KasutajaNimi valemit on vaja värskendada, saab seda ühes kohas hõlpsasti teha. Kui UserPhone pole rakenduses vaja, siis neid kõnesid Kasutajad tabelisse rakenduses Dataverse ei ole tehtud. Kasutamata valemi määratluse lisamise eest ei karistata.

Teatud nimega valemite piirangud:

  • Nad ei saa rakenduses käitumisfunktsioone kasutada ega muul viisil kõrvalmõjusid põhjustada.
  • Nad ei saa luua ringviidet. Võrrandid a = b; ja b = a; samas rakenduses pole lubatud.

Kasutaja määratletud funktsioonid

Power Fx sisaldab pikka loendit sisseehitatud funktsioonidest, nagu If, Text ja Set. Kasutaja määratletud funktsioonid võimaldavad teil kirjutada oma funktsioone, mis võtavad parameetreid ja tagastavad väärtuse, nagu seda teevad sisseehitatud funktsioonid. Võite mõelda kasutaja määratletud funktsioonidest kui nimega valemite laiendist, mis lisab parameetreid ja toetab käitumisvalemeid.

Näiteks võite määratleda nimega valemi, mis tagastab teegist ilukirjandusraamatud.

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

Ilma parameetriteta peaksime iga žanri jaoks määratlema eraldi nimega valemid. Kuid selle asemel parameetrime meie nimega valemit:

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

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

Nüüd saame helistada LibraryGenre( "Fiction" )LibraryGenre( "Reference" ) või filtreerida teisi žanre ühe kasutaja määratletud funktsiooniga.

Süntaks on:

FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = valem;

  • FunctionName – nõutav. Kasutaja määratletud funktsiooni nimi.
  • ParameterNames – valikuline. Funktsiooniparameetri nimi.
  • ParameterTypes – valikuline. Tüübi nimi, kas sisseehitatud andmetüübi nimi, andmeallika nimi või tüübifunktsiooniga määratletud tüüp.
  • ReturnType – nõutav. Funktsiooni tagastusväärtuse tüüp.
  • Valem – nõutav. Valem, mis arvutab parameetrite põhjal funktsiooni väärtuse.

Iga parameeter ja kasutaja määratlemise funktsiooni väljund tuleb sisestada. Selles näites määratleb SelectedGenre: Text meie funktsiooni esimese parameetri, mille tüüp on Tekst, ja SelectedGenre on selle parameetri nimi, mida kasutatakse sisus toimingu Filter jaoks. Vt teemat Toetatud tüübinimede andmetüübid . Funktsiooni Type kasutatakse meie teegi jaoks koondtüübi loomiseks, et saaksime oma funktsioonist raamatute tabeli tagastada.

Defineerisime LibraryType kirjetüübi mitmuse tabelina. Kui tahame funktsioonile edastada ühe raamatu, saame selle tabeli kirje tüübi ekstraktida funktsiooniga RecordOf:

BookType := Type( RecordOf( LibraryType ) );

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

Funktsiooni parameetrite kirjete sobitamine on tihedam kui teistes osades Power Fx. Kirjeväärtuse väljad peavad olema tüübimääratluse õige alamhulk ega tohi sisaldada täiendavaid välju. Näiteks IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) põhjustab see vea.

Pange tähele, et kasutaja määratletud funktsioonid ei toeta veel rekursiooni.

Käitumine kasutaja määratletud funktsioonid

Nimega valemid ja enamik kasutaja määratletud funktsioone ei toeta kõrvalmõjudega käitumisfunktsioone (nt Määra või Teata). Üldiselt on kõige parem võimaluse korral vältida oleku värskendamist, tuginedes selle asemel funktsionaalsetele programmeerimismustritele ja lubades Power Fx valemid vastavalt vajadusele automaatselt ümber arvutada. Kuid on juhtumeid, kus see on vältimatu. Käitumisloogika lisamiseks kasutaja määratletud funktsiooni Pakendamine keha lokkis traksidega:

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

Nüüd saame helistada Spend( 12 ) , et kontrollida, kas meie säästudes on 12, ja kui jah, siis debiteerida see 12-ga ja lisada muutujale Kulutatud 12. Selle funktsiooni tagastuse tüüp on Void , kuna see ei tagasta väärtust.

Käitumise kasutaja määratletud funktsiooni süntaks on:

FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Formula1 [ ; Vormel2 ... ] };

  • FunctionName – nõutav. Kasutaja määratletud funktsiooni nimi.
  • ParameterNames – valikuline. Funktsiooniparameetri nimi.
  • ParameterTypes – valikuline. Tüübi nimi, kas sisseehitatud andmetüübi nimi, andmeallika nimi või funktsiooniga Typemääratletud tüüp.
  • ReturnType – nõutav. Funktsiooni tagastusväärtuse tüüp. Kasutage Void-i , kui funktsioon ei tagasta väärtust.
  • Valemid – nõutav. Valem, mis arvutab parameetrite põhjal funktsiooni väärtuse.

Nagu kõigi Power Fx valemite puhul, ei lõpe käivitamine tõrke ilmnemisel. Pärast tõrkefunktsiooni käivitamist takistab funktsioon If säästude ja kulutatud muudatuste tegemist. Funktsiooni IfError saab kasutada ka edasise käivitamise vältimiseks pärast viga. Kuigi see tagastab väärtuse Void, võib valem probleemi korral siiski vea tagastada.

Kasutaja määratletud tüübid

Oluline

  • Kasutaja määratletud tüübid on eksperimentaalne funktsioon.
  • Eksperimentaalsed funktsioonid ei ole mõeldud tootmises kasutamiseks ja ei pruugi olla täielikud. Need funktsioonid on saadaval enne ametlikku väljalaset, et saaksite varakult juurde pääseda ja tagasisidet anda. Lisateave: Katse-, eelvaate- ja iganenud lõuendirakenduste funktsioonide mõistmine
  • Selles artiklis kirjeldatav käitumine on saadaval ainult siis, kui kasutaja määratletud tüüpide katsefunktsioon sätetes > Eelseisvad funktsioonid > Eksperimentaalne on sisse lülitatud (see on vaikimisi välja lülitatud).
  • Teie tagasiside on meile väärtuslik. Andke meile teada, mida arvate eksperimentaalsete funktsioonide kogukonna foorumist Power Apps .

Nimega valemeid saab kasutada koos funktsiooniga Tüüp kasutaja määratletud tüüpide loomiseks. Kasutage := selle asemel = , et määratleda näiteks Book := Type( { Title: Text, Author: Text } ) kasutaja määratletud tüüp. Lisateavet ja näiteid leiate funktsioonist Tüüp .

OnError atribuut

Kasutage funktsiooni OnError , et teha toiminguid, kui rakenduses ilmneb tõrge. See annab globaalse võimaluse veabännerit enne lõppkasutajale kuvamist pealtkuulata. Seda saab kasutada ka jälgimisfunktsiooniga tõrke Logimise funktsiooniks või andmebaasi või veebiteenusesse kirjutamiseks.

Lõuendirakendustes kontrollitakse iga valemihindamise tulemust vea suhtes. Tõrke ilmnemisel hinnatakse rakendust OnError samade ulatusemuutujatega FirstError ja AllErrors , mida oleks kasutatud, kui kogu valem oleks mähitud funktsiooni IfError.

Kui onError on tühi, kuvatakse tõrke vaikeribal teade FirstError.Message . Valemi Tõrke_korral määratlemine alistab selle käitumise, et tegija saaks tõrketeavitust vastavalt vajadusele töödelda. Tõrke_korral vaikekäitumise taotlemiseks taaskäivitage tõrgefunktsiooniga Error. Kasutage taassündimisviisi, kui soovite mõnda tõrget teistmoodi välja filtreerida või käsitleda, kuid lasta teistel seda teha.

OnError ei saa asendada arvutustes olevat viga nii, nagu seda saab teha IfError . Kui käivitatakse OnError , on tõrge juba juhtunud ja seda on juba töödeldud valemiarvutustega, nagu IfError; Ainult tõrkekontrolli tõrketeavitus.

OnErrori valemeid hinnatakse samaaegselt ja on võimalik, et nende hindamine võib kattuda muude vigade töötlemisega. Kui määrate näiteks globaalse muutuja tõrke_ korral ülaserva ja loete selle hiljem samas valemis ette, võib väärtus olla muutunud. Kasutage Abil funktsiooni et luua valemi jaoks kohaliku nimega väärtuse.

Kuigi tõrke_korral töödeldakse iga tõrget ükshaaval , ei pruugita iga vea puhul eraldi kuvada vaikeveariba. Selleks et vältida liiga paljude vearibade samaaegset kuvamist, ei kuvata sama tõrkeriba uuesti, kui seda on hiljuti näidatud.

Näide

Mõelge Sildi juhtelemendile ja Liugur juhtelemendile, mis on valemiga kokku seotud.

Label1.Text = 1/Slider1.Value

Silt ja liuguri juhtelement, mis on seotud valemiga Label1.Text = 1/Slider1.Value.

Vaikimisi on liugur kuni 50. Kui liugur on viidud väärtusele 0, Label1 ei kuvata väärtust ja kuvatakse tõrkeriba:

Liuguri juhtimine liikus asendisse 0, mille tulemuseks oli jagamine nullveaga ja veariba.

Vaatame juhtunut üksikasjalikult:

  1. Kasutaja liigutas slaidi vasakule ja atribuut Slide1.Value muudeti väärtusele 0.
  2. Label1.Tekst hinnati automaatselt ümber. Toimus nulliga jagamine, tekitades vea.
  3. Selles valemis ei ole IfError atribuuti. Nullveaga jagamise tagastab valemi hindamine.
  4. Label1.Tekst ei saa selle tõrke korral midagi kuvada, seega kuvab see tühja oleku.
  5. Käivitatakse OnError . Kuna töötlejat pole, kuvatakse standardne veabänner koos veateabega.

Vajaduse korral saate valemiks määrata Label1.Text = IfError( 1/Slider1.Value, 0 ). IfErrori kasutamine tähendab, et tõrkeriba pole. Tõrke väärtust ei saa tõrke_korral muuta, kuna tõrge on juba ilmnenud. Tõrke korral reguleeritakse ainult tõrkest teatamist.

Kui lisate tõrkeohjuri , ei mõjuta see etappe enne 5. juhist, kuid see muudab tõrke teatatud viisi.

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

App.OnErrori valem on seatud jälituse loomiseks.

Selle tõrkeohjuri korral ei kuvata rakenduse kasutajale ühtegi tõrget. Kuid tõrge lisatakse kuvari jälitusteabesse, sh esimese tõrke tõrketeabe allikasse:

Liuguri juhtimine liikus 0-le, mille tulemuseks oli jagamine nullveaga, kuid mitte veariba.

Kui soovite koos jälitusteabega kuvada ka vaikeveariba, käivitage viga pärast jälituskutset uuesti funktsiooniga Error, nagu jälitusfunktsiooni poleks seal.

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

Atribuut OnStart

Märkus.

Atribuudi OnStart kasutamine võib rakenduse laadimisel põhjustada jõudlusprobleeme. Selle atribuudi kasutamiseks loome alternatiive kahel põhjusel: andmete vahemällu salvestamine ja globaalmuutujate häälestamine. Juba on alternatiiv esimese kuva määratlemiseks, mille juures navigeerimine kuvatakse. Olenevalt teie kontekstist saab selle atribuudi vaikimisi keelata. Kui te seda ei näe ja peate seda kasutama, kontrollige rakenduse täpsemaid sätteid, et lüliti lubada. Samuti saate kasutada ekraani atribuuti OnVisible . Kui mitteblokeeriv OnStart-reegel on lubatud, võimaldab see vaikimisi funktsiooni OnStart käitada teiste rakendusereeglitega samal ajal. Seega, kui muudes rakendusereeglites viidatud muutujad lähtestatakse funktsiooni OnStart raames, ei pruugita neid veel täielikult lähtestada. Samuti võib ekraan renderdada ja muutuda interaktiivseks enne, kui funktsioonid Screen.OnVisible või App.OnStart lõpetavad töötamise, eriti kui nende lõpuleviimine võtab kaua aega.

Atribuut OnStart käivitub, kui kasutaja käivitab rakenduse. Seda atribuuti kasutatakse sageli selleks, et:

  • Kogumites olevate andmete toomine ja vahemällu salvestamine funktsiooni Collect abil.
  • Funktsiooni Määra kasutades globaalsete muutujate häälestamine.

See valem käivitub enne esimese ekraani kuvamist. Ühtegi ekraani ei laadita, seega ei saa te funktsiooniga UpdateContext konteksti muutujaid määrata. Kuid kontekstimuutujaid saate edastada funktsiooniga Navigate .

Pärast atribuudi OnStart muutmist viige see testimisel kursoriga puuvaate paanil rakenduseobjektile, valige kolmikpunkt (...) ja seejärel valige Käivitaalus. Erinevalt rakenduse esmakordsest laadimisest on olemasolevad kogumid ja muutujad juba määratud. Tühjade kogumitega alustamiseks kasutage funktsiooni Collect (Kogu) asemel funktsiooni ClearCollect (Tühjenda kogumine).

Käivitamisel käivitamise rakenduse üksuse kiirmenüü

Märkus.

  • Funktsiooni Navigate kasutamine atribuudis OnStart on kasutuselt kõrvaldatud. Olemasolevad rakendused töötavad endiselt. Piiratud aja jooksul saate selle lubada rakenduse sätetes (jaotises Kasutuselt kõrvaldatud). Sel viisil navigeerimine võib aga põhjustada rakenduse laadimise viivitusi, kuna see sunnib süsteemi lõpetama käivitamise OnStart enne esimese ekraani kuvamist. Esimese kuvatava kuva määramiseks kasutage selle asemel atribuuti StartScreen .
  • Kasutuselt kõrvaldatud lüliti on välja lülitatud rakenduste jaoks, mis on loodud enne 2021. aasta märtsi, kui lisasite 2021. aasta märtsist kuni praeguseni valiku Liigu olekusse OnStart . Kui redigeerite neid rakendusi Power Apps Studios, kuvatakse tõrketeade. Selle vea kõrvaldamiseks lülitage aegunud lüliti sisse.

Atribuut StartScreen

Atribuut StartScreen määrab, milline ekraan kuvatakse esimesena. Seda hinnatakse üks kord, kui rakendus laadib ja tagastab kuvaobjekti, mida kuvada. Vaikimisi on see atribuut tühi ja esimesena kuvatakse stuudiopuu vaate esimene kuva.

StartScreen on andmevoo atribuut, mis ei tohi sisaldada käitumisfunktsioone. Saadaval on kõik andmevoofunktsioonid. Kasutage neid funktsioone ja signaale, et otsustada, milline ekraan esimesena kuvada.

  • Param funktsioon rakenduse käivitamiseks kasutatud parameetrite lugemiseks.
  • Kasutaja funktsioon praeguse kasutaja kohta teabe lugemiseks.
  • LookUp, Filter, CountRows, Max ja muud funktsioonid, mis loevad andmeallikas.
  • API kutsub konnektori kaudu. Veenduge, et kõne tagastatakse kiiresti.
  • Signaalid, nagu Connection, Compass ja Rakendus.

Märkus.

Globaalsed muutujad ja kogumid (sh onStart-objektidel loodud) pole Avakuval saadaval. Nimega valemid on saadaval ja on sageli parem alternatiiv valemite taaskasutamiseks kogu rakenduses.

Kui StartScreen tagastab tõrke, näitab stuudiopuu vaate esimene ekraan, et startScreen pole seatud. Kasutage funktsiooni IfError tõrgete tabamiseks ja tõrkekuvale ümbersuunamiseks.

Pärast stuudio StartScreeni muutmist viige see testimiseks puuvaate paanil rakenduseobjektile, valige kolmikpunkt (...) ja seejärel valige Liigu Avakuvale. Kuva muutub samamoodi nagu rakendus oleks just laaditud.

Avage StartScreen

Näited

Screen9

Screen9 kuvatakse rakenduse käivitamisel esimesena.

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

Kontrollib, kas param "admin-mode" on seatud ja kasutab seda otsustamiseks, kas HomeScreen või AdminScreen kuvab esimesena.

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

Kontrollib, kas osaleja on töötaja, ja suunab ta käivitamisel õigele kuvale.

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

Suunab rakenduse API-päringu põhjal kas ForestScreen või OceanScreen-ni. Kui API nurjub, kasutab ErrorScreen rakendus hoopis seda.

Atribuut StudioVersion

Atribuudi StudioVersion abil saate kuvada või logida rakenduse avaldamiseks kasutatava Power Apps Studio versiooni. See atribuut aitab teil siluda ja kontrollida, kas teie rakendus avaldatakse uuesti Power Apps Studio hiljutise versiooniga.

StudioVersion tagastab teksti. Selle teksti vorming võib aja jooksul muutuda, seega käsitlege seda tervikuna ja ärge ekstraktige üksikuid osi.