„Power Apps“ objektas „App“
Taikoma: drobės programoms Modeliu pagrįstoms programoms
Pateikia informaciją apie šiuo metu veikiančią programą ir valdo programos veikimą.
Aprašas
Kaip ir valdiklis, objektas App pateikia ypatybių, kurios identifikuoja, kuris ekranas rodomas, ir paragina vartotoją įrašyti pakeitimus, kad jų neprarastų. Kiekviena programa turi objektą App.
Galite kurti kai kurių objekto App ypatybių formules. SritiesMedžio rodinys viršuje pasirinkite objektą App, kaip pasirinktumėte bet kokį kitą valdiklį ar ekraną. Peržiūrėkite ir redaguokite vieną iš objekto ypatybių pasirinkdami ją išplečiamajame sąraše, esančiame formulės juostos kairėje.
Ypatybė ActiveScreen
Ypatybė ActiveScreen identifikuoja rodomą ekraną.
Ši ypatybė grąžina ekrano objektą. Naudokite jį norėdami nurodyti šiuo metu rodomo ekrano ypatybes, pvz., pavadinimą su formule App.ActiveScreen.Name. Taip pat galite palyginti šią ypatybę su kitu ekrano objektu, pvz., naudodami palyginimo formulę App.ActiveScreen = Screen2 , kad patikrintumėte, ar Screen2 yra šiuo metu rodomas ekranas.
Norėdami pakeisti, kuris ekranas rodomas, naudokite funkciją Back arba Navigate.
"BackEnabled" ypatybė
Ypatybė "BackEnabled " pakeičia, kaip programėlė reaguoja į įrenginio grįžimo gestą (perbraukite arba naudokite aparatūros grįžimo mygtuką Android įrenginiuose, perbraukite iš kairės iOS įrenginiuose), kai veikia Power Apps mobiliajame telefone. Kai įjungta, įrenginio grįžimo gestas grįžta į vėliausiai rodytą ekraną, kuris yra panašus į formulę Atgal . Kai išjungta, įrenginio grąžinimo gestas grąžina vartotoją į programų sąrašą.
Ypatybės ConfirmExit
Niekas nenori prarasti neįrašytų pakeitimų. Naudokite ypatybes ConfirmExit ir ConfirmExitMessage, kad įspėtumėte vartotoją prieš jam uždarant programą.
Pastaba.
- "ConfirmExit " neveikia programose, kurios yra įdėtos, pavyzdžiui, ir Power BI . SharePoint
- Šiuo metu šios ypatybės gali nurodyti tik pirmojo ekrano valdiklius, jei įjungta peržiūros funkcija Atidėtas įkėlimas (įgalinta naujose programose pagal numatytuosius parametrus). Jei yra nuorodų, „Power Apps Studio“ klaida nerodoma, bet publikuota programos negalima atidaryti naudojant „Power Apps“ mobiliąją programą arba naršyklę. Aktyviai stengiamės pašalinti šį apribojimą. Tuo metu, galite išjungti Vėluojantis įkėlimas esančius Nustatymai>Būsimos funkcijos (dalyje Peržiūra).
ConfirmExit
ConfirmExit yra Bulio logikos nuosavybė, kuri, jei teisinga, atidaro patvirtinimo dialogo langą prieš uždarant programą. Pagal numatytuosius parametrus šios ypatybės reikšmė yra false ir dialogo langas nerodomas.
Tais atvejais, kai naudotojas gali turėti neišsaugotų pakeitimų programoje, naudokite šią nuosavybę, kad prieš išeinant iš programos būtų rodomas patvirtinimo dialogo langas. Naudokite formulę, kuri gali tikrinti kintamuosius ir valdyti ypatybes (pavyzdžiui, valdiklio Redaguoti formą ypatybę Unsaved).
Patvirtinimo dialogo langas pateikiamas bet kurioje situacijoje, kurioje duomenys gali būti prarasti, pavyzdžiui:
- Vykdant funkciją Exit.
- Jei programa paleista naršyklėje:
- Uždarant naršyklę arba naršyklės skirtuką, kurioje paleista programa.
- Pasirinkus naršyklės grįžimo atgal mygtuką.
- „Launch“ funkcijos vykdymas „LaunchTarget“ Paties.
- Jei programa veikia mobiliajame įrenginyje Power Apps (iOS arba Android):
- Perbraukus, kai norima pereiti prie kitos programos „Power Apps“ mobiliojoje programoje.
- Pasirinkus grįžimo atgal mygtuką „Android“ įrenginyje.
- „Launchׅ“ funkcijos vykdymas kitos drobės programos įjungimui.
Tiksli patvirtinimo dialogo lango išvaizda gali skirtis atsižvelgiant į įrenginį ir „Power Apps“ versiją.
Patvirtinimo dialogo langas nerodomas naudojant „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ė. Jei reikia, pasirinktiniai pranešimai sutrumpinami, kad tilptų patvirtinimo dialogo lange, todėl geriausia sukurti trumpą kelių eilučių pranešimą.
Naršyklėje patvirtinimo dialogo lange gali būti rodomas bendro pobūdžio naršyklės pranešimas.
Pastaba.
Programos objektas turi dar dvi ypatybes OnMessage
ir yra BackEnabled
eksperimentinis. Galiausiai šios ypatybės bus pašalintos iš programos objekto. Rekomenduojame Jums nenaudoti šių ypatybių gamybos aplinkoje.
Pavyzdžiui
Sukurkite programą, kurioje būtų du formos valdikliai: AccountForm ir ContactForm.
Nustatykite objekto App ypatybės ConfirmExit išraišką, kaip nurodyta toliau:
AccountForm.Unsaved Or ContactForm.Unsaved
Šis dialogo langas rodomas, jei vartotojas pakeičia bet kurios formos duomenis, o tada bando uždaryti programą neįrašęs pakeitimų.
Nustatykite objekto App ypatybę ConfirmExitMessage pagal toliau nurodytą formulę:
If( AccountsForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )
Šis dialogo langas rodomas, jei vartotojas pakeičia Paskyros formos duomenis, o tada bando uždaryti programą neįrašęs pakeitimų.
Sąrankos prietaisų raktas Application Insights
Norėdami eksportuoti sistemos sugeneruotus programų žurnalus Application Insights į, turite nustatyti drobės programos instrumentavimo raktą .
- Atidarykite programą, kurioje galėsite redaguoti Power Apps Studio.
- Pasirinkite taikomosios programos objektą kairiajame naršymo medžio rodinyje.
- Ypatybių srityje įveskite instrumentuotės raktą .
Jei duomenys nesiunčiami į "App Insights", susisiekite su Power Platform administratoriumi ir patikrinkite, ar "App Insights " išjungta nuomotojo lygiu.
Formulės ypatybė
Naudodami pavadintas formulės ypatybėje Formulės apibrėžkite formulė, kurią galima pakartotinai naudoti visoje programoje.
Valdiklio Power Apps ypatybes valdo formulės. 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 kai kurie kodas netikėtai pakeičia reikšmę, tačiau tai neįmanoma naudojant pavadintas formulėse.
- 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. Jos perskaičiuojamos automatiškai, kaip ir skaičiuoklė, kaip ir valdiklio ypatybės.
Pavadintos formulės apibrėžiamos po vieną formulės ypatybėje , kiekviena baigiasi kabliataškiu. Formulės tipą nurodo išraiškos tipai, pagrįsti išraiškos elementų tipais ir jų kartu naudojamumu elementu. 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.
Ypatybė On Kita
Naudokite OnError tam, kad imtumėtės veiksmų po klaidos aptikimo. Tai visuotinė galimybė sulaikyti klaidos reklaminę juostą, kad ji būtų rodoma galutiniam vartotojui. Ją dar galima naudoti norint registruoti klaidą naudojant sekimo Funkciją ar rašyti į duomenų bazę ar žiniatinklio tarnybą.
Tikrinama, ar yra kiekvienos formulės, per kurią klaidą siųsite, rezultatas. Jei tai klaida, OnError bus vertinama su ta pačia FirstError ir Visos klaidos aprėpties kintamuosius, kurie būtų pateikti, jei visa formulė buvo supakuota į funkciją Jei klaida funkciją.
Jei OnError tuščias su klaidos pranešimu FirstError.Pranešimas klaidų juosta. On Viršijo formulės apibrėžimas pakeičia šį elgesį, įgalinantį kūrėją tvarkyti klaidų ataskaitas, kai jos mato tinkamos. Numatytojo veikimo gali būti paprašyta OnError iš naujo atskeliant klaidą su Klaidos funkcija. Tai naudinga, jei kai kurias klaidas reikia filtruoti ar apdoroti kitu būdu, o kitas – perduoti.
OnError negali pakeisti skaičiavimo klaidos taip, kaip gali IfError . Tuo metu, kai OnError iškviečiama, klaida jau įvyko ir ji jau buvo apdorojama vykdant formulės skaičiavimus. *OnError* valdo tik klaidų ataskaitas.
OnError formulės vertinamos vienu metu ir gali būti, kad jų vertinimas gali sutapti su kitų klaidų apdorojimu. Pavyzdžiui, jei nustatote visuotinį OnError viršuje ir vėliau jį skaitote toje pačioje formulėje, reikšmė galėjo būti pakeista. Naudokite Su kad sukurtumėte pavadintą reikšmę, vietinę formulės reikšmę.
Nors kiekvieną klaidą atskirai apdoros OnError, numatytoji klaidų antraštė gali būti rodoma ne kiekvienai klaidai atskirai. Kad tuo pačiu metu nebūtų rodoma per daug klaidų antraščių, ta pati klaida nesukels naujos klaidos reklaminės juostos, jei ji neseniai buvo rodoma.
Pavyzdžiui
Pasvarstykite žymų valdiklį ir slankiklio valdiklį, sujungtą su 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:
Pažiūrėkite, kas nutiko išsamiau:
- Vartotojas perkėlė skaidrę į kairę, o ypatybė Slide1.Value pakeista į 0.
- Label1.Text buvo automatiškai įvertintas iš naujo. Įvyko dalyba pagal nulį, įvyksta klaida.
- Š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 galime pakeisti šią formulėje Label1.Text = IfError( 1/Slider1.Value, 0 )
. Dėl to nebus klaidų arba klaidų reklaminės juostos. Klaidos iš OnError reikšmės pakeisti negalime, nes tuo metu klaida jau įvyko, tai tik klausimas, kaip apie ją bus pranešta.
Jei įtrauksime OnError apdorojimo programą, prieš 5 veiksmą ji nebus paveikta, tačiau tai gali turėti įtakos tai, kaip pranešama apie klaidą:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Atsižvelgiant į tai, programos vartotojo atžvilgiu, nebus jokių klaidų. Bet klaida bus įtraukta į monitoriaus sekimo, kartu su klaidos informacijos iš First Papildomos informacijos šaltiniu:
Jei kartu su sekimo funkcija rodoma ta pati numatytoji klaidų reklaminė juosta, po sekimo skambučio galime iš naujo nustatyti klaidą su funkcija Klaida kaip ir tada Sekimas skambutis taip tarsiSekimas negaliotų:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Ypatybė OnStart
Pastaba.
Naudojant ypatybę OnStart gali kilti veikimo problemų įkeliant programą. Šiuo metu kuriamos alternatyvos dėl dviejų pagrindinių priežasčių: duomenų apie nuosavybę talpyklą naudojimoir visuotinių kintamųjų nustatymo. Jau sukūrėme alternatyvą pirmajam ekranui, kuris bus rodomas naudojant apibrėžti Navigate. Pagal numatytuosius nustatymus ši ypatybė gali būti išjungta atsižvelgiant į kontekstą. Jei jo nematote ir reikia jį naudoti, patikrinkite programos išplėstinius parametrus ir įjunkite jį. Taip pat galima naudoti ekrano ypatybę OnVisible.
Ypatybė OnStart vykdoma, kai vartotojas paleidžia programą. Ši ypatybė dažnai naudojama toliau nurodytų užduočių atlikimui.
- Gauti ir saugoti duomenis rinkiniuose naudojant funkciją Collect.
- Nustatyti visuotinius kintamuosius naudojant funkciją Set.
Ši formulė įvertinama prieš pateikiant pirmąjį ekraną. Neįkeltas joks ekranas, todėl negalite nustatyti konteksto kintamųjų naudodami funkciją UpdateContext. Tačiau galite perduoti konteksto kintamuosius naudodami funkciją Navigate.
Kai pakeičiate ypatybę OnStart ypatybę, patikrinkite ją užvesdami pelės žymiklį Programos objekto Medžio rodinio juostoje, pasirinkdami elipsę (...), ir tada Vykdyti OnStart. Kitaip nei įkėlus programą pirmą kartą, esami rinkiniai ir kintamieji jau bus nustatyti. Jei norite pradėti naudodami tuščius rinkinius, naudokite funkciją ClearCollect vietoj funkcijos Collect.
Pastaba.
- Su Navigate funkcija OnStart ypatybė nebegalioja. Esamos programos ir toliau veiks. Ribotą laiką jį vis dar galite įjungti programos parametruose (prieinama dalyje Nebegalioja). Tačiau naudojant Navigate tokiu būdu programa gali vėluoti, nes dėl to sistema gali visiškai susėsti prieš rodydami pirmąjį OnStart prieš rodant pirmąjį ekraną. Užuot tai StartScreen apskaičiuokite pirmąjį rodomą ekraną, naudodami šią ypatybę.
- Išjungtas jungiklis bus išjungtas programoms, sukurtoms iki 2021 m. kovo mėn., kur nuo 2021 m. kovo iki dabar pridėjote parinktį Naviguoti į "OnStart". Redaguojant tokias programas „Power Apps Studio“, gali būti rodoma klaida. Įjunkite aukščiau nurodytą klaidą Nebegalioja įjungimo ir išvalykite šią klaidą.
„StartScreen“ ypatybė
Pastaba.
Pradžios ekrano ypatybė nebus rodoma ypatybių sąraše, kai įjungta parinktis Nebenaudojama parinktis Patobulinta formulės juosta . Norėdami išjungti patobulintą formulės juostą eikite į Parametrai>Būsimosios funkcijos>Nebegalioja> išjunkite Patobulintos formulės juostą kai norite naudoti Pradžios ekrano ypatybę.
Ypatybė StartScreen nustato, kuris ekranas bus rodomas pirmiausia. Programa įvertinama įkeliant programą ir grąžinus rodomą ekrano objektą. Pagal numatytuosius nustatymus ši ypatybė bus tuščia, o pirmasis studio medžio rodinio ekranas bus rodomas pirmiausia.
"StartScreen " yra duomenų srauto ypatybė, kurioje negali būti veikimo funkcijų. Visos duomenų srauto funkcijos yra prieinamos, visų pirma šias funkcijas ir signalus naudokite, kad nustatytumėte, kuriame ekrane pirmiausia turi būti rodoma:
- 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.
- Bet kurie API skambučiai naudojant jungtį, tačiau yra greitai grįžtami.
- Signalai, tokie kaip Connection, Compass, ir App.
Pastaba.
Visuotiniai kintamieji ir rinkiniai, įskaitant sukurtus OnStart nėra pasiekiami StartScreen. Yra ir kelias, kaip tai padaryti, yra keletas išietyvių alternatyvų. Atsiliepimų apie šį apribojimą eikite į bendruomenės Power Apps“ forumą.
Jei StartScreen grąžins klaidą, pirmasis „Studio Tree" rodinio ekranas bus rodomas taip tarsi StartScreen nebūtų buvusi nustatyta. Norėdami IfError kokias klaidas ir nukreipti į atitinkamą klaidos ekraną, naudokite šią funkciją.
Kai pakeičiate ypatybę StartScreen studijoje patikrinkite ją užvesdami pelės žymiklį virš programos objekto medžio rodinio Programa esančio Medžio rodinyje juostoje pasirinkdami elipsę (...), ir tada Naršyti į StartScreen. Ekranas keisis, tarsi programa būtų įkelta.
Pavyzdžiai
Screen9
Rodo, kad Screen9
programa turėtų būti rodoma pirmiausiai.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Tikrina, ar vartotojas nustatė „administratoriaus režimą“ ir jį naudoja, kad nuspręstų, ar pirmiausia turi būti rodoma HomeScreen ir AdminScreen.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Tikrina, ar konferencijoje yra personalo narys ir ar jis nukreipia į tinkamą paleidimo ekraną.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Nukreipia programą pagal API iškvietimą į arba ForestScreen
ar OceanScreen
. Jei API nepavyksta dėl kokios nors priežasties, ErrorScreen
vietoj jos naudojama.
"StudioVersion" nuosavybė
Naudokite "StudioVersion " ypatybę, kad būtų rodoma arba registruojama versija, Power Apps Studio kuri buvo naudojama programai paskelbti. Tai gali būti naudinga derinant ir siekiant užtikrinti, kad programa buvo iš naujo paskelbta naudojant naujausią jos versiją Power Apps Studio.
"StudioVersion " grąžinama kaip tekstas. Teksto formatas laikui bėgant gali keistis ir turėtų būti vertinamas kaip visuma; Venkite išgauti atskiras porcijas.