Dalintis per


„Power Apps“ objektas „App“

Taikoma: drobės programoms

Gaukite informacijos apie šiuo metu veikiančias programėles ir valdykite programėlės veikimą.

Aprašas

Kaip ir valdiklis, programos objektas turi ypatybių, kurios identifikuoja, kuris ekranas rodomas, ir ragina įrašyti keitimus, kad jie neprarastų. Kiekviena programa turi objektą App.

Rašykite kai kurių taikomosios programos objekto ypatybių formules. SritiesMedžio rodinys viršuje pasirinkite objektą App, kaip pasirinktumėte bet kokį kitą valdiklį ar ekraną. Norėdami peržiūrėti arba redaguoti vieną iš objekto ypatybių, pasirinkite ją išplečiamajame sąraše, esančiame į kairę nuo formulės juostos.

Ekrano nuotrauka, kurioje matyti programos objektas, pasirinktas medžio rodinio srityje. Ypatybių sritis matoma.

Ypatybė ActiveScreen

Ypatybė ActiveScreen identifikuoja šiuo metu rodomą ekraną.

Ši ypatybė grąžina ekrano objektą. Naudokite ją dabartinio ekrano ypatybėms nurodyti, pvz., pavadinimui su formule App.ActiveScreen.Name. Taip pat galite palyginti šią ypatybę su kitu ekrano objektu, pvz., su palyginimo formule App.ActiveScreen = Screen2 , kad patikrintumėte, ar dabartinis ekranas yra Screen2 .

Naudokite funkciją Atgal arba Naršyti , kad perjungtumėte rodomą ekraną.

"BackEnabled" ypatybė

Ypatybė BackEnabled pakeičia tai, kaip programa reaguoja į įrenginio atgalinį gestą (perbraukite arba naudokite aparatūros grįžimo mygtuką "Android" įrenginiuose arba perbraukite iš kairės "iOS" įrenginiuose), kai veikia "Power Apps" mobiliesiems įrenginiams. Įgalinus, įrenginio grįžimo gestas grįžta į vėliausiai rodomą ekraną, kuris yra panašus į formulę Atgal . Kai išjungta, įrenginio grįžimo gestas perkelia vartotoją į programėlių sąrašą.

Ypatybės ConfirmExit

Niekas nenori prarasti neįrašytų pakeitimų. Naudokite ypatybes ConfirmExit ir ConfirmExitMessage , kad įspėtumėte vartotoją prieš uždarydami programą.

Pastaba.

  • ConfirmExit neveikia programose, įdėtose, pvz., "Power BI" ir "SharePoint".
  • ConfirmExit nepalaikomas pasirinktiniuose puslapiuose.
  • Dabar šios ypatybės gali nurodyti valdiklius tik pirmajame ekrane, jei įjungta atidėtos apkrovos peržiūros funkcija (kuri pagal numatytuosius parametrus taikoma naujoms programėlėms). Jei nurodysite kitus ekranus, "Power Apps Studio" nerodys klaidos, bet publikuota programėlė neatidaroma "Power Apps Mobile" arba naršyklėje. Stengiamės panaikinti šį apribojimą. Tuo tarpu išjunkite atidėtą apkrovądalyje Parametrai>artėjančios funkcijos (dalyje Peržiūra).

ConfirmExit

ConfirmExit yra Bulio logikos ypatybė, kuri, kai teisinga, atidaro patvirtinimo dialogo langą prieš programai užsidarant. Pagal numatytuosius parametrus šios ypatybės reikšmė yra false ir dialogo langas nerodomas.

Kai vartotojas programėlėje gali turėti neįrašytų keitimų, naudokite šią ypatybę, kad būtų rodomas patvirtinimo dialogo langas prieš išeidamas iš taikomosios programos. Naudokite formulę, kuri tikrina kintamuosius ir valdiklio ypatybes (pvz., formos valdiklio Redaguoti ypatybę Neįrašyta).

Patvirtinimo dialogo langas rodomas bet kuriuo atveju, kai duomenys gali būti prarasti, pvz.:

  • Paleiskite išėjimo funkciją.
  • Jei programėlė veikia naršyklėje:
    • Uždarykite naršyklę arba naršyklės skirtuką, kuriame veikia programa.
    • Pasirinkite naršyklės mygtuką Atgal.
    • Paleiskite paleidimo funkciją naudodami "LaunchTarget " " Self".
  • Jei programa veikia "Power Apps Mobile" ("iOS" arba "Android"):
    • Perbraukite, kad pereitumėte į kitą programėlę "Power Apps Mobile".
    • Pasirinkite grįžimo mygtuką "Android" įrenginyje.
    • Paleiskite paleidimo funkciją, kad paleistumėte kitą drobės programą.

Tiksli patvirtinimo dialogo lango išvaizda įvairiuose įrenginiuose ir "Power Apps" versijose gali skirtis.

Patvirtinimo dialogo langas nerodomas "Power Apps Studio".

ConfirmExitMessage

Pagal numatytuosius parametrus patvirtinimo dialogo lange pateikiamas bendro pobūdžio pranešimas,Naudotojo kalboje.

Naudokite ConfirmExitMessage, jei patvirtinimo dialogo lange norite pateikti pasirinktinį pranešimą. Jei šios ypatybės reikšmė nenurodyta, naudojama numatytoji reikšmė. Pasirinktiniai pranešimai sutrumpinami pagal poreikį, kad tilptų patvirtinimo dialogo lange, todėl išsaugokite pranešimą iki kelių eilučių.

Naršyklėje patvirtinimo dialogo lange gali būti rodomas bendrasis naršyklės pranešimas.

Pastaba.

Programos objektas turi dar dvi ypatybes ir OnMessage, BackEnabled kurios yra eksperimentinės. Šios ypatybės galiausiai pašalinamos iš taikomosios programos objekto. Nenaudokite šių ypatybių savo gamybos aplinkoje.

Pavyzdžiui

  1. Nustatykite objekto App ypatybės ConfirmExit išraišką, kaip nurodyta toliau:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Dialogo lange rodoma, ar vartotojas pakeičia duomenis bet kuria forma ir bando uždaryti programą neįrašęs šių pakeitimų.e vartotojas pakeičia duomenis bet kuria forma ir bando uždaryti programą neįrašęs šių pakeitimų.

    [!div clas1. Nustatykite objekto App ypatybę ConfirmExitMessage pagal toliau nurodytą formulę:

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

    Dialogo lange rodoma, ar vartotojas pakeičia duomenis paskyros formoje, tada bando uždaryti programą neįrašęs šių pakeitimų.

    Konkrečios formos patvirtinimo dialogo langas.

Programos įžvalgų jungimosi eilutės nustatymas

Norėdami eksportuoti sistemos sugeneruotus programų žurnalus į programos įžvalgas, nustatykite drobės programos jungimosieilutę .

  1. Atidarykite programą, kurioje galėsite redaguoti Power Apps Studio.
  2. Pasirinkite taikomosios programos objektą kairiajame naršymo medžio rodinyje.
  3. Ypatybių srityje įveskite jungimosi eilutę .

Jei duomenys nesiunčiami į programos įžvalgas, kreipkitės į "Power Platform" administratorių ir patikrinkite, ar programos įžvalgos išjungtos nuomotojo lygiu.

Formulės ypatybė

Naudodami pavadintas formulės ypatybėje Formulės apibrėžkite formulė, kurią galima pakartotinai naudoti visoje programoje.

Į Power Apps formulės nustato valdymo ypatybių vertę. Pavyzdžiui, jei norite nuosekliai nustatyti programos foninę spalvą, galite nustatyti kiekvienos bendrosios formulės ypatybę Užpildas:

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

Kai yra tiek daug vietų, kur gali pasirodyti ši formulė, ji tampa nuogąstinga ir klaidos yra linkusios atnaujinti jas visas, jei reikia pakeisti. Vietoj to naudodami OnStart sukurti visuotinį kintamąjį, kad kartą nustatytų spalvą, o tada iš naujo panaudoti reikšmę visoje programoje:

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

Nors šis metodas yra geresnis, tai taip pat priklauso nuo OnStart vykdymo prieš vertę BGColor sukurtą. "BGColor " taip pat gali būti manipuliuojama kuriame nors programos kampe, apie kurį gamintojas nežino, kažkieno kito atliktas pakeitimas, kurį gali būti sunku susekti.

Pavadintos formulės teikia alternatyvą. Lygiai taip, kaip dažnai rašome valdiklį-ypatybę = išraišką, vietoj to galime rašyti pavadinimą pavadinimas = išraiška ir tada vėl naudojame pavadinimas visoje mūsų programoje, kad pakeistų išraišką. Šių formulės aprašai atliekami ypatybėje Formulės ypatybėje:

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

Įvardytųjų formulės naudojimo pranašumų yra šie:

  • Formulės reikšmė visada pasiekiama. Nėra priklausomybės nuo laiko, ne OnStart kuri turi būti vykdoma pirmiausia prieš reikšmę, nėra laiko, kai formulės reikšmė yra neteisinga. Pavadintos formulės gali reikšti viena kitą bet kokia tvarka, jei jos nesukuria ciklinės nuorodos. Jas galima apskaičiuoti lygiagrečiai.
  • Formulės reikšmė visada pasiekiama iki datos. Formulė gali atlikti skaičiavimą, priklausomą nuo valdiklio ypatybės arba duomenų bazės įrašų, ir, kai jie keičia, formulės reikšmė automatiškai naujina. Su kintamuoju reikšmės atnaujinti nereikia rankiniu būdu. O formulės perskaičiuojamos tik tada, kai reikia.
  • Formulės apibrėžimas yra nemobuojamas. Formulėse pateikiamas apibrėžimas yra vienas sintaksės šaltinis, jo reikšmės programoje pakeisti negalima. Naudojant kintamuosius, gali būti, kad koks nors kodas netikėtai pakeičia reikšmę, tačiau ši sunkiai derinama situacija neįmanoma naudojant įvardytas formules.
  • Formulės skaičiavimas gali būti išsąsdęs. Kadangi jo vertė yra nekintama, ją visada galima apskaičiuoti, kai reikia, o tai reiškia, kad jos nereikia apskaičiuoti, kol to nereikia. Formulės reikšmės, nenaudojamos, kol rodomas programos 2 ekranas, neturi būti apskaičiuojamos, kol rodomas 2 ekranas. Šio darbo atidėjimas gali pagerinti programos įkėlimo laiką. Pavadintos formulės yra sustingimos ir suteikia sistemai galimybių optimizuoti jų skaičiavimo galimybę.
  • Pavadintos formulės yra "Excel" sąvoka. Power Fx naudoja "Excel" naudoja sąvokas, kai įmanoma, nes tiek daug žmonių gerai žino "Excel". Pavadintos formulės yra pavadintų persodųjų ir pavadintų formulės "Excel" atitikmenys, valdomi su vardų tvarkytuvu. Jie perskaičiuojami automatiškai, kaip tai daro skaičiuoklės ir valdiklio ypatybių langeliai.

Pavadintos formulės apibrėžiamos po vieną formulės ypatybėje , kiekviena baigiasi kabliataškiu. Formulės tipas numanomas iš formulės elementų tipų ir to, kaip jie naudojami kartu. Pavyzdžiui, šios pavadintos formulės gauna naudingą informaciją apie dabartinį vartotoją iš 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' );

Jei UserTitle formulė turi būti atnaujinta, tai galima lengvai padaryti šioje vienoje vietoje. Jei programoje UserPhone nėra būtina, šie skambučiai Naudotojų į lentelę Dataverse Vartotojai nėra atliekami. Į formulės apibrėžimą, kuris nėra naudojamas, nėra tarpas.

Kai kurie pavadintų formulės apribojimai:

  • Jie negali naudoti elgsenos funkcijų arba kitaip sukelti šalutinio poveikio programoje.
  • Jos negali sukurti ciklinės nuorodos. Turintys a = b; ir b = a; programoje neleidžiamas.

Vartotojo apibrėžtos funkcijos

Power Fx apima ilgą integruotų funkcijų sąrašą, pvz., Jei, Tekstas ir Nustatyti. Vartotojo apibrėžtos funkcijos leidžia jums parašyti savo funkcijas, kurios paima parametrus ir grąžina vertę, kaip tai daro integruotos funkcijos. Apie vartotojo apibrėžtas funkcijas galite galvoti kaip apie įvardytų formulių plėtinį, kuris prideda parametrų ir palaiko veikimo formules.

Pavyzdžiui, galite apibrėžti įvardytą formulę, kuri grąžina grožinės literatūros knygas iš bibliotekos:

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

Be parametrų kiekvienam žanrui turėtume apibrėžti atskiras įvardytas formules. Bet vietoj to parametrizuokime savo pavadintą formulę:

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

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

Dabar galime skambinti LibraryGenre( "Fiction" )LibraryGenre( "Reference" ) arba filtruoti kitus žanrus su vieno vartotojo apibrėžta funkcija.

Sintaksė yra:

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

  • Funkcijos pavadinimas – būtina. Vartotojo apibrėžtos funkcijos pavadinimas.
  • ParameterNames – neprivaloma. Funkcijos parametro pavadinimas.
  • ParameterTypes – neprivaloma. Tipo pavadinimas, įtaisytasis duomenų tipo pavadinimas, duomenų šaltinio pavadinimas arba tipas, apibrėžtas naudojant funkciją Tipas .
  • ReturnType – būtina. Funkcijos grąžinamos reikšmės tipas.
  • Formulė – būtina. Formulė, kuri apskaičiuoja funkcijos vertę pagal parametrus.

Kiekvienas parametras ir vartotojo apibrėžtos funkcijos išvestis turi būti įvesti. Šiame pavyzdyje SelectedGenre: Text pirmasis mūsų funkcijos parametras apibrėžiamas kaip teksto tipas ir SelectedGenre yra parametro, kuris naudojamas tekste filtro operacijai, pavadinimas. Žiūrėkite Palaikomų tipų pavadinimų duomenų tipai . Funkcija Tipas naudojama mūsų bibliotekos agreguotam tipui sukurti, kad galėtume grąžinti knygų lentelę iš savo funkcijos.

Mes apibrėžėme LibraryType kaip daugiskaitos įrašų lentelės tipą. Jei norime perduoti vieną knygą funkcijai, galime išgauti šios lentelės įrašo tipą naudodami funkciją RecordOf:

BookType := Type( RecordOf( LibraryType ) );

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

Funkcijų parametrų įrašų atitikimas yra griežtesnis nei kitose dalyse Power Fx. Įrašo reikšmės laukai turi būti tinkamas tipo apibrėžimo poaibis ir juose negali būti papildomų laukų. Pavyzdžiui, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) atsiras klaida.

Atminkite, kad rekursijos dar nepalaiko vartotojo apibrėžtos funkcijos.

Vartotojo apibrėžtų funkcijų elgsena

Įvardytos formulės ir dauguma vartotojo apibrėžtų funkcijų nepalaiko veikimo funkcijų, turinčių šalutinį poveikį, pvz ., Nustatyti arba Pranešti. Apskritai, jei galite, geriausia vengti būsenos atnaujinimo, o pasikliauti funkciniais programavimo modeliais ir leisti Power Fx automatiškai perskaičiuoti formules pagal poreikį. Tačiau yra atvejų, kai tai neišvengiama. Norėdami įtraukti elgesio logiką į vartotojo apibrėžtą funkciją, Pakavimas kūną garbanotomis petnešomis:

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

Dabar galime paskambinti Spend( 12 ) ir patikrinti, ar mūsų santaupose yra 12, ir, jei taip, nurašyti jį iš 12 ir pridėti 12 prie išleisto kintamojo. Šios funkcijos grąžinimo tipas yra Anuliuota , nes ji nepateikia reikšmės.

Veikimo būdo vartotojo apibrėžtos funkcijos sintaksė yra:

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

  • Funkcijos pavadinimas – būtina. Vartotojo apibrėžtos funkcijos pavadinimas.
  • ParameterNames – neprivaloma. Funkcijos parametro pavadinimas.
  • ParameterTypes – neprivaloma. Tipo pavadinimas, įtaisytasis duomenų tipo pavadinimas, duomenų šaltinio pavadinimas arba tipas, apibrėžtas naudojant funkciją Tipas.
  • ReturnType – būtina. Funkcijos grąžinamos reikšmės tipas. Naudokite Anuliuoti , jei funkcija nepateikia reikšmės.
  • Formulės – būtina. Formulė, kuri apskaičiuoja funkcijos vertę pagal parametrus.

Kaip ir visose Power Fx formulėse, vykdymas nesibaigia, kai įvyksta klaida. Iškvietus funkciją Klaida , funkcija If neleidžia atlikti taupymo ir išlaidų pakeitimų. Funkcija IfError taip pat gali būti naudojama siekiant išvengti tolesnio vykdymo po klaidos. Net jei formulė grąžina Void, ji vis tiek gali pateikti klaidą, jei kyla problemų.

Vartotojo apibrėžti tipai

Svarbu

Įvardytas formules galima naudoti su funkcija Type , kad būtų sukurti vartotojo apibrėžti tipai. Pavyzdžiui, := naudokite = vietoj Book := Type( { Title: Text, Author: Text } )vartotojo apibrėžto tipo apibrėžimo. Daugiau informacijos ir pavyzdžių rasite funkcijoje Tipas .

Ypatybė On Kita

Naudokite OnError , kad imtumėtės veiksmų, kai klaida įvyksta bet kurioje programos vietoje. Tai suteikia visuotinę galimybę perimti klaidos reklamjuostę prieš ją rodant galutiniam vartotojui. Ją dar galima naudoti norint registruoti klaidą naudojant sekimo Funkciją ar rašyti į duomenų bazę ar žiniatinklio tarnybą.

Drobės programose kiekvieno formulės įvertinimo rezultatas tikrinamas, ar nėra klaidos. Jei įvyksta klaida, OnError įvertinamas naudojant tuos pačius FirstError ir AllErrors aprėpties kintamuosius, kurie būtų buvę naudojami, jei visa formulė būtų buvusi suvyniota į IfError funkciją.

Jei OnError tuščias, numatytoje klaidos juostoje rodoma klaidos pranešimas FirstError.Message . OnError formulės apibrėžimas perrašo šį veikimą, todėl kūrėjas gali apdoroti klaidų ataskaitas pagal poreikį. Galite prašyti numatytojo veikimo onError atsukdami klaidą naudodami funkciją Klaida. Naudokite rethrowing metodą, jei norite filtruoti arba tvarkyti kai kurias klaidas kitaip, bet leisti kitiems pereiti.

OnError negali pakeisti skaičiavimo klaidos taip, kaip gali IfError . Jei iškviečiama OnError , klaida jau įvyko ir ji jau buvo apdorota atliekant formulės skaičiavimus, pvz., IfError; "OnError" valdo tik klaidų ataskaitas.

OnError formulės vertinamos vienu metu ir gali būti, kad jų įvertinimas gali persidengti su kitų klaidų apdorojimu. Pavyzdžiui, jei nustatote visuotinį kintamąjį OnError viršuje ir skaitote jį vėliau toje pačioje formulėje, reikšmė galėjo pasikeisti. Naudokite Su kad sukurtumėte pavadintą reikšmę, vietinę formulės reikšmę.

Nors kiekvieną klaidą atskirai apdoroja OnError, numatytoji klaidų juosta gali būti nerodoma kiekvienai klaidai atskirai. Kad vienu metu nebūtų rodoma per daug klaidų reklamjuosčių, ta pati klaidos reklamjuostė nebus rodoma dar kartą, jei ji neseniai buvo rodoma.

Pavyzdžiui

Pasvarstykite žymų valdiklį ir slankiklio valdiklį, sujungtą su formulė:

Label1.Text = 1/Slider1.Value

Etiketės ir slankiklio valdiklis, susietas per formulę Label1.Text = 1/Slider1.Value.

Slankiklis numatytasis iki 50. Jei slankiklį perkėlus į 0, žymą1 nebus rodoma jokia reikšmė, bus rodoma klaidos reklaminė juosta:

Slankiklio valdiklis perkeltas į 0, todėl buvo padalytas iš nulinės klaidos ir klaidos reklamjuostė.

Pažiūrėkite, kas nutiko išsamiau:

  1. Vartotojas perkėlė skaidrę į kairę, o ypatybė Slide1.Value pakeista į 0.
  2. Label1.Text buvo automatiškai įvertintas iš naujo. Įvyko dalyba pagal nulį, įvyksta klaida.
  3. Šioje formulėje nėra IfError formulėje. Dalis nulinės klaidos grąžinama naudojant formulės suskirstytį.
  4. Label1.Text negali nieko rodyti su šia klaida, todėl rodoma tuščia būsena.
  5. OnError iškviečiamas. Kadangi apdorojimo programos nėra, rodoma standartinė klaidų reklaminė juosta su klaidos informacija.

Jei reikia, taip pat galite pakeisti formulę į Label1.Text = IfError( 1/Slider1.Value, 0 ). " IfError" naudojimas reiškia, kad nėra klaidos arba klaidos reklaminės juostos. Negalite pakeisti klaidos reikšmės iš OnError , nes klaida jau įvyko – OnError valdo tik tai, kaip ji pateikiama.

Jei įtrauksite "OnError" apdorojimo programą, ji neturės įtakos prieš 5 veiksmą atliktiems veiksmams, bet tai nepakeis klaidos pranešimų:

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

App.OnError formulė, nustatyta sekimui generuoti.

Naudojant šią OnError apdorojimo programą, programos vartotojas nemato jokių klaidų. Tačiau klaida įtraukiama į monitoriaus sekimą, įskaitant klaidos informacijos šaltinį iš "FirstError":

Slankiklio valdiklis perkeltas į 0, todėl buvo padalytas iš nulinės klaidos, bet nebuvo klaidos reklamjuostės.

Jei taip pat norite rodyti numatytąją klaidų juostą kartu su sekimas, atsekite klaidą naudodami funkciją Error po sekimo iškvietimo, tarsi sekimas ten nebūtų:

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

Ypatybė OnStart

Pastaba.

Naudojant ypatybę OnStart , įkeliant taikomąją programą gali kilti veikimo problemų. Kuriame alternatyvas dėl dviejų svarbiausių šios ypatybės naudojimo priežasčių – duomenų kaupimas talpykloje ir visuotinių kintamųjų nustatymas. Jau yra alternatyva apibrėžti pirmąjį ekraną, kuris bus rodomas naudojant parinktį Naršyti. Atsižvelgiant į kontekstą, ši ypatybė gali būti išjungta pagal numatytuosius parametrus. Jei nematote ir norite jį naudoti, patikrinkite programėlės išplėstinius parametrus, kad įjungtumėte jungiklį. Taip pat galite naudoti ekrano ypatybę OnVisible . Pagal numatytuosius parametrus, kai įjungta neatblokavimo OnStart taisyklė, ji leidžia onStart funkcijai veikti tuo pačiu metu kaip ir kitos programėlės taisyklės. Taigi, jei kintamieji, nurodyti kitose programų taisyklėse, inicijuojami funkcijoje OnStart , jie dar gali būti neinicijuoti. Be to, ekranas gali būti generuojamas ir tampa interaktyvus prieš baigiant veikti "Screen.OnVisible" arba "App.OnStart " funkcijoms, ypač jei jų vykdymas trunka ilgai.

Ypatybė OnStart vykdoma, kai vartotojas paleidžia programą. Ši ypatybė dažnai naudojama:

  • Rinkinių duomenų gavimas ir gavimas talpykloje naudojant funkciją Rinkti .
  • Nustatyti visuotinius kintamuosius naudojant funkciją Set.

Ši formulė vykdoma prieš pasirodžius pirmajam ekranui. Neįkeltas joks ekranas, todėl negalite nustatyti konteksto kintamųjų naudodami funkciją UpdateContext. Tačiau galite perduoti kontekstinius kintamuosius naudodami funkciją Naršyti .

Pakeitę ypatybę OnStart , išbandykite ją užvesdami pelės žymiklį virš programos objekto medžio rodinio srityje, pasirinkdami daugtaškį (...), tada pasirinkdami Paleisti onStart. Skirtingai nei kai programa įkeliama pirmą kartą, esami rinkiniai ir kintamieji jau nustatyti. Jei norite pradėti naudodami tuščius rinkinius, naudokite funkciją ClearCollect vietoj funkcijos Collect.

Programos elemento kontekstinis meniu, skirtas parinkčiai Paleisti OnStart

Pastaba.

  • Nebenaudojama ypatybėje OnStart esanti funkcija Naršyti. Esamos programėlės vis dar veikia. Ribotą laiką galite ją įjungti programėlės parametruose (dalyje Panaikinta). Tačiau, naudojant funkciją Naršyti tokiu būdu, programėlės įkėlimo delsa gali būti atidėta, nes ji priverčia sistemą baigti veikti OnStart prieš rodant pirmąjį ekraną. Vietoj to naudokite ypatybę StartScreen , kad nustatytumėte pirmą rodomą ekraną.
  • Išjungtas programėlių, sukurtų iki 2021 m. kovo mėn., perjungimas įOnStart nuo 2021 m. kovo mėn. iki dabar. Kai redaguojate šias programėles "Power Apps Studio", galite matyti klaidą. Įjunkite išjungtą jungiklį, kad pašalintumėte šią klaidą.

„StartScreen“ ypatybė

Ypatybė StartScreen nustato, kuris ekranas rodomas pirmiausia. Jis įvertinamas vieną kartą, kai programa įkelia ir pateikia rodomą ekrano objektą. Pagal numatytuosius nustatymus ši ypatybė yra tuščia, o pirmasis "Studio Tree" rodinio ekranas rodomas pirmiausia.

"StartScreen " yra duomenų srauto ypatybė, kurioje negali būti veikimo funkcijų. Galimos visos duomenų srauto funkcijos. Naudodami šias funkcijas ir signalus nuspręskite, kurį ekraną rodyti pirmiausia:

  • Param funkcija, skirta skaityti parametrus, naudojamus programai paleisti.
  • Vartotojo funkcija skaityti informaciją apie dabartinį vartotoją.
  • Peržvalga, Filtras, CountRows, Maks. ir kitos funkcijos, kurios nuskaitomos iš duomenų šaltinis.
  • API iškvietimai per jungtį. Įsitikinkite, kad skambutis greitai grįžta.
  • Signalai, tokie kaip Connection, Compass, ir App.

Pastaba.

Visuotinių kintamųjų ir rinkinių, įskaitant sukurtus "OnStart", " StartScreen" nėra. Įvardytos formulės yra prieinamos ir dažnai yra geresnė alternatyva pakartotiniam formulių naudojimui visoje programoje.

Jei "StartScreen" pateikia klaidą, pirmasis "Studio Tree" rodinio ekranas rodomas taip, tarsi "StartScreen" nenustatytas. Naudokite funkciją IfError , kad aptiktumėte klaidas ir peradresuokite į klaidos ekraną.

Kai pakeisite "StartScreen" programoje "Studio", išbandykite jį užvesdami pelės žymiklį virš programėlės objekto medžio rodinio srityje, pasirinkdami daugtaškį (...), tada pasirinkdami Pereiti į pradžios ekraną. Ekranas pasikeičia taip, lyg programėlė ką tik įkelta.

Pereiti į StartScreen

Pavyzdžiai

Screen9

Screen9 pirmiausia rodoma kiekvieną kartą, kai paleidžiama programa.

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

Tikrina, ar parametras "administratoriaus režimas" nustatytas, ir jį naudoja, kad nuspręstų, ar pirmiausia rodomas "HomeScreen" arba "AdminScreen".

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

Patikrina, ar dalyvis yra darbuotojas, ir nurodo jį į tinkamą ekraną paleisties metu.

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

Nukreipia programą pagal API iškvietimą į arba ForestScreen ar OceanScreen. Jei API nepavyksta, vietoj jos naudoja ErrorScreen taikomoji programa.

"StudioVersion" nuosavybė

Naudokite ypatybę StudioVersion norėdami parodyti arba registruoti "Power Apps Studio" versiją, naudojamą publikuoti programėlę. Ši ypatybė padeda, kai derinsite ir patikrinsite, ar jūsų programa iš naujo publikuota naudojant naujausią "Power Apps Studio" versiją.

StudioVersion grąžina tekstą. Šio teksto formatas laikui bėgant gali pasikeisti, todėl jį traktuokite kaip visumą ir neišskleiskite atskirų dalių.