Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
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 neprarastumėte jų. 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.
Šiame straipsnyje aprašomos šios taikomosios programos objekto ypatybės:
- "ActiveScreen" – šiuo metu rodomas ekranas.
- BackEnabled – kaip programa reaguoja į įrenginio atgalinį gestą.
- ConfirmExit ir ConfirmExitMessage – įspėti vartotoją prieš uždarant programą.
- Jungimosi eilutė – nustatykite programos įžvalgų registravimą.
- Formulės – apibrėžia pavadintas formules, vartotojo apibrėžtas funkcijas ir vartotojo apibrėžtus tipus.
- OnError – apdoroja klaidas visame pasaulyje.
- OnStart – paleiskite logiką, kai paleidžiama programa.
- StartScreen – nustatykite ekraną, rodomą pirmą kartą, kai programa įkeliama.
- StudioVersion – pateikia programą paskelbtą "Power Apps Studio" versiją.
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 formulės 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. „Microsoft“ stengiasi 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.
Pavyzdys
Nustatykite objekto App ypatybės ConfirmExit išraišką, kaip nurodyta toliau:
AccountForm.Unsaved Or ContactForm.UnsavedDialogo langas rodomas, jei vartotojas pakeičia duomenis bet kuria forma ir bando uždaryti programą neįrašęs šių pakeitimų.
Nustatykite objekto App ypatybę ConfirmExitMessage pagal toliau nurodytą formulę:
If( AccountForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Dialogo lange rodomas formos pranešimas, kai vartotojas pakeičia duomenis bet kuria forma ir bando uždaryti programą neįrašydamas šių pakeitimų.
Ypatybė Jungimosi eilutė
Naudokite ypatybę Jungimosi eilutė , kad eksportuotumėte sistemos sugeneruotus programų žurnalus į programos įžvalgas.
Norėdami nustatyti connection string:
- Atidarykite programą, kurioje galėsite redaguoti Power Apps Studio.
- Pasirinkite taikomosios programos objektą kairiajame naršymo medžio rodinyje.
- 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ė
Naudokite ypatybę Formulės , kad apibrėžtumėte pakartotinai naudojamą logiką visoje programoje. Ypatybė Formulės palaiko tris konstrukcijas:
- Įvardytosios formulės – priskirkite pavadinimą formulei ir pakartotinai naudokite reikšmę visoje programoje.
- Vartotojo apibrėžtos funkcijos – pavadintos formulės, naudojančios parametrus ir pateikiančios reikšmę.
- Vartotojo apibrėžti tipai – pavadintus tipus galite pakartotinai naudoti formulėse ir funkcijų parašuose.
Įvardytos formulės
Ypatybėje Formulės naudokite pavadintas formules, kad apibrėžtumėte formulę, kurią galėtumėte pakartotinai naudoti visoje programoje.
Į Power Apps formulės nustato valdymo ypatybių vertę. Pavyzdžiui, norėdami nuosekliai nustatyti fono spalvą visoje programoje, nustatykite kiekvieno valdiklio ypatybę Užpildyti į bendrąją formulę:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Kai yra tiek daug vietų, kuriose rodoma ši formulė, ji tampa varginantis ir gali būti klaidų, kad juos visus atnaujintų, jei reikia pakeisti. Vietoj to sukurkite visuotinį kintamąjį "OnStart ", kad vieną kartą nustatytumėte spalvą, tada pakartotinai naudokite 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ą. Kaip paprastai rašote valdiklio ypatybė = reiškinys, vietoj to galite rašyti pavadinimą = išraišką , tada pakartotinai naudoti pavadinimą visoje programoje, kad pakeistumėte reiškinį. Apibrėžkite šias formules ypatybėje Formulės :
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, kai kuris kodas gali netikėtai pakeisti reikšmę, tačiau ši sunkiai derintina situacija negalima su įvardytomis formulėmis.
- 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.
Ypatybėje Formulės apibrėžkite pavadintas formules vieną po kitos, 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ę reikia atnaujinti, galite ją lengvai atnaujinti šioje 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 nustatytos funkcijos
Power Fx apima ilgą integruotų funkcijų sąrašą, pvz., Jei, Tekstas ir Nustatyti. Naudodami vartotojo apibrėžtas funkcijas, galite parašyti savo funkcijas, kurios priima parametrus ir grąžina reikšmę, kaip įtaisytosios funkcijos. Vartotojo apibrėžiamos funkcijos yra pavadintų formulių plėtinys, kuris prideda parametrus ir palaiko veikimo būdo 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ų reikia apibrėžti atskiras pavadintas kiekvieno žanro formules. Tačiau vietoj to, parametrizuokite savo pavadintą formulę:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Dabar galite skambinti LibraryGenre( "Fiction" ), LibraryGenre( "Reference" )arba filtruoti kitų žanrų naudodami vieną vartotojo apibrėžiamą funkciją.
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.
Turite įvesti kiekvieną parametrą ir išvestį iš vartotojo apibrėžtos funkcijos. Šiame pavyzdyje apibrėžia pirmąjį funkcijos parametrą, SelectedGenre: Text kurio tipas yra Tekstas, ir SelectedGenre yra parametro, kuris naudojamas filtro operacijos tekste, pavadinimas. Žiūrėkite Palaikomų tipų pavadinimų duomenų tipai .
Funkcija Type naudojama bibliotekos agregavimo tipui sukurti, kad galėtumėte pateikti knygų lentelę iš funkcijos.
Jūs apibrėžiate LibraryType kaip daugiskaitos įrašų tipo lentelę. Jei norite perduoti vieną knygą funkcijai, galite išskleisti š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 pogrupis ir juose negali būti papildomų laukų. Pvz., IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) įvyksta klaida.
Vartotojo apibrėžtos funkcijos dar nepalaiko rekursijos.
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, venkite atnaujinti būseną. Vietoj to, pasikliaukite funkciniais programavimo modeliais ir leiskite "Power Fx" automatiškai perskaičiuoti formules. 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 galite skambinti Spend( 12 ) , kad patikrintumėte, ar įrašų srityje yra 12, ir, jei taip, nurašyti jį 12 ir įtraukti 12 į kintamąjį Praleista. Š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ą Error, funkcija If neleidžia atlikti įrašymo ir praleistų keitimų. 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
Naudokite pavadintas formules su funkcija Tipas , kad sukurtumėte vartotojo apibrėžtus tipus. 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. Ji suteikia visuotinę galimybę perimti klaidos juostą prieš ją rodant galutiniam vartotojui. Taip pat galite ją naudoti klaidai registruoti naudodami sekimo funkciją arba rašyti duomenų bazėje ar žiniatinklio tarnyboje.
Drobės programose kiekvieno formulės įvertinimo rezultatas tikrinamas, ar nėra klaidos. Jei įvyko klaida, OnError įvertinama naudojant tuos pačius "FirstError" ir "AllErrors" aprėpties kintamuosius, kuriuos programa naudoja, jei visa formulė perkeliama į funkciją IfError.
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 jau apdorojama naudojant formulių 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 OnError kiekvieną klaidą apdoroja atskirai, numatytoji klaidų juosta gali nebūti rodoma kiekvienai klaidai atskirai. Jei nenorite, kad vienu metu būtų rodoma per daug klaidų reklamjuostių, ta pati klaidų juosta vėl nerodoma, jei ji buvo neseniai rodoma.
Pavyzdys
Pasvarstykite žymų valdiklį ir slankiklio valdiklį, sujungtą su formulė:
Label1.Text = 1/Slider1.Value
Slankiklis numatytasis iki 50. Jei paslinksite slankiklį į 0, 1 etiketė nerodys reikšmės ir bus rodoma klaidos juosta:
Pažvelkime, kas vyksta išsamiai:
- Galite perkelti slankiklį į kairę, o ypatybė Slider1.Value pasikeičia į 0.
- Label1.Text automatiškai iš naujo įvertina. Dalyba iš nulio įvyksta, generuojant klaidą.
- Šioje formulėje nėra IfError formulėje. Dalis nulinės klaidos grąžinama naudojant formulės suskirstytį.
- Label1.Text negali nieko rodyti su šia klaida, todėl rodoma tuščia būsena.
- 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}" )
Naudojant šią OnError apdorojimo programą, programos vartotojas nemato jokių klaidų. Tačiau klaida įtraukiama į monitoriaus sekimą, įskaitant klaidos informacijos šaltinį iš "FirstError":
Jei taip pat norite rodyti numatytąją klaidų juostą kartu su sekimais, 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ų. Prieš įtraukdami logiką į OnStart, apsvarstykite šias alternatyvas:
- Jei norite talpykloje talpinti duomenis arba nustatyti visuotinius kintamuosius, naudokite pavadintą formulę ypatybėje Formulės , jei įmanoma.
- Norėdami nustatyti, kad būtų rodomas pirmasis ekranas, naudokite ypatybę Pradžios ekranas , o ne Naršyti.
- Norėdami paleisti logiką, kai rodomas konkretus ekranas, naudokite ekrano ypatybę OnVisible .
Atsižvelgiant į kontekstą, pagal numatytuosius parametrus ypatybė OnStart gali būti išjungta. Jei nematote ir norite jį naudoti, patikrinkite programėlės išplėstinius parametrus, kad įjungtumėte jungiklį.
Kai įjungta neatblokavimo OnStart taisyklė (numatytoji), OnStart veikia tuo pačiu metu kaip ir kitos programos taisyklės. Todėl:
- " OnStart" inicijuoti kintamieji gali būti nevisiškai inicijuoti, kai juos perskaito kitos taikomosios programos taisyklės.
- Ekranas gali generuoti vaizdavimą ir tapti interaktyviu prieš "App.OnStart" arba "Screen.OnVisible" baigs veikti, ypač jei tos funkcijos veikia ilgai.
Ypatybė OnStart vykdoma, kai vartotojas paleidžia programą. Naudokite šią ypatybę norėdami:
- 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.
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 programas "Power Apps Studio", matote klaidą. Įjunkite išjungtą jungiklį, kad pašalintumėte šią klaidą.
„StartScreen“ ypatybė
Ypatybė StartScreen nustato, kuris ekranas rodomas pirmiausia. Power Apps vertina šią ypatybę vieną kartą, kai programėlė į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.
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ų.