Partekatu honen bidez:


Aplikazioaren objektua Power Apps-en

Hauei aplikatzen zaie: Canvas aplikazioei Ereduetan oinarritutako aplikazioei

Une honetan martxan dagoen aplikazioari buruzko informazioa ematen du eta aplikazioaren portaera kontrolatu.

Deskribapenak

Kontrol bat bezala, aplikazioaren objektuak propietateak eskaintzen ditu, zein pantailetan erakusten duten identifikatzen dutenak eta erabiltzaileari aldaketak gorde ditzan eskatzen diotenak. Aplikazio guztiek dute aplikazioaren objektua.

Aplikazioaren objektuaren propietate batzuetarako formulak idatz ditzakezu. Zuhaitz ikuspegia panelaren goialdean, hautatu aplikazioaren objektua, beste edozein kontrol edo pantailarekin egingo zenukeen moduan. Ikusi eta editatu objektuaren propietate bat formula-barraren ezkerreko goitibeherako zerrendan hautatuz.

Aplikazioa objektua Zuhaitz ikuspegiaren panelean.

ActiveScreen propietatea

ActiveScreen propietateak erakusten ari den pantaila identifikatzen du.

Propietate honek pantailako objektu bat itzultzen du. Erabili unean bistaratzen den pantailaren propietateak erreferentzia egiteko, adibidez App.ActiveScreen.Name formula duen izena. Propietate hau pantailako beste objektu batekin ere aldera dezakezu, adibidez, konparazio-formularekin App.ActiveScreen = Screen2 ea Screen2probatzeko. unean bistaratzen den pantaila da.

Erabili Itzuli edo nabigatu funtzioak erakusten ari den pantaila aldatzeko.

BackEnabled propietatea

BackEnabled propietateak aplikazioak gailuaren atzera keinuari nola erantzuten dion aldatzen du (pasatu hatza edo erabili hardwarea atzeratzeko botoia Android gailuetan, irristatu hatza ezkerretik aurrera iOS gailuak) Power Apps mugikorran exekutatzen denean. Gaituta dagoenean, gailuaren atzera-keinua azken bistaratutako pantailara itzultzen da, hau da, Atzera formularen antzekoa. Desgaituta dagoenean, gailuaren atzera keinuak aplikazioen zerrendara itzultzen du erabiltzailea.

ConfirmExit propietateak

Inork ez du gorde gabeko aldaketarik galdu nahi. Erabili ConfirmExit eta ConfirmExitMessage propietateak erabiltzaileari abisatzeko aplikazioa itxi baino lehen.

Oharra

  • ConfirmExit propietateak ez du funtzionatzen kapsulatutako aplikazioetan, adibidez, Power BI-n eta SharePoint-en.
  • Gaur egun, propietate horiek kontrolak lehen pantailan bakarrik erreferentziak izan ditzakete Karga atzeratua aurrebista funtzioa gaituta badago (aplikazio berrientzat lehenetsita dagoena). Erreferentziak egiten badira, Power Apps Studio-k errorerik ez du erakusten, baina argitaratutako aplikazioa ez da irekitzen Mugikorretarako Power Apps-en edo arakatzailean. Muga hau kentzeko aktiboki ari gara lanean. Bitartean, desaktiba dezakezu Atzeratutako kargatzea hurrengoan Ezarpenak>Datozen eginbideak (azpian Aurrebista).

ConfirmExit

ConfirmExit propietate boolearra da, egia gisa dagoenean, berresteko elkarrizketa-koadroa irekitzen duena aplikazioa itxi aurretik. Berez, propietate hori faltsua gisa ezarrita dago eta ez da elkarrizketa-koadroa agertzen.

Erabiltzaileak aplikazioan gorde gabeko aldaketak izan ditzakeen egoeretan, erabili propietate hau berrespen-elkarrizketa-koadro bat erakusteko aplikaziotik irten aurretik. Erabili aldagaiak eta propietateak kontrolatu ditzakeen formula (adibidez Edit form kontrolaren Gorde gabe propietatea).

Berresteko elkarrizketa-koadroa datuak gal litezkeen egoeretan agertzen da, adibide hauetan bezala:

  • Exit funtzioa exekutatzean.
  • Aplikazioa arakatzaile batean exekutatzen ari bada:
    • Aplikazioa exekutatzen ari den arakatzailea edo arakatzailea fitxa ixtean.
    • Arakatzaileko atzera botoia hautatzean.
    • Exekutatzen Launch funtzioarekin LaunchTarget hurrengoarena Self.
  • Aplikazioa Power Apps Mugikorrean exekutatzen ari bada (iOS edo Android):
    • Beste aplikazio batera aldatzeko pasatzerakoan Mugikorretarako Power Apps-en.
    • Atzera botoia hautatzean Android gailuan.
    • Exekutatzen Launch funtzioa beste mihise aplikazio bat abiarazteko.

Berresteko-koadroaren itxura zehatza gailuen eta Power Apps-en bertsioen artean alda daiteke.

Berresteko elkarrizketa-koadroa ez da agertzen Power Apps Studio-n.

ConfirmExitMessage

Berez, berresteko elkarrizketa-koadroak mezu generiko bat erakusten du, adibidez "Gorde gabeko aldaketak izan ditzakezu." erabiltzailearen hizkuntzan.

Erabili ConfirmExitMessage mezu pertsonalizatua emateko berresteko elkarrizketa-koadroan. Propietatea hutsik badago, balio lehenetsia erabiltzen da. Mezu pertsonalizatuak beharrezkoak diren moduan mozten dira berresteko elkarrizketa-koadroan sartzeko. Beraz, idatzi lerro gutxi batzuetako mezua.

Arakatzaile batean, berresteko elkarrizketa-koadroa arakatzailearen mezu generiko batekin ager liteke.

Oharra

Aplikazio objektuak beste bi propietate ditu OnMessage eta BackEnabled esperimentalak direnak. Propietate hauek aplikazioaren objektutik kenduko dira azkenean. Propietate horiek zure ekoizpen ingurunean ez erabiltzea gomendatzen dugu.

Adibidez

  1. Sortu bi inprimaki-kontrol dituen aplikazio bat, AccountForm eta ContactForm.

  2. Ezar ezazu aplikazioaren objektuaren ConfirmExit propietatea adierazpen honetan:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Elkarrizketa-koadro hau agertuko da erabiltzaileak datuak aldatzen baditu edozein inprimakitan eta aplikazioa ixten saiatzen da aldaketa horiek gorde gabe.

    Berrespen-elkarrizketa-koadro orokorra.

  3. Ezar ezazu aplikazioaren objektuaren ConfirmExitMessage propietatea formula honetan:

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

    Elkarrizketa-koadro hau agertuko da erabiltzaileak datuak aldatzen baditu kontuaren inprimakian eta aplikazioa ixten saiatzen da aldaketa horiek gorde gabe.

    Inprimakiaren berariazko berrespen-elkarrizketa-koadroa.

Konfiguratu tresna-gakoa Application Insights

Sistemak sortutako aplikazio-erregistroak Application Insights-ra esportatzeko, Instrumentazio-gakoa konfiguratu behar duzu oihal aplikaziorako.

  1. Ireki zure aplikazioa editatzeko Power Apps Studion.
  2. Hautatu Aplikazioa objektua ezkerreko nabigazio-zuhaitzaren ikuspegian.
  3. Sartu Tresnaren gakoa propietateen panelean.

Datuak ez badira bidaltzen App Insights-era, jarri Power Platform administratzailearekin harremanetan eta egiaztatu App Insights maizter mailan desgaituta dagoen.

Formulen propietatea

Erabili izendun formulak, Formulak propietatean, zure aplikazioan berrerabil daitekeen formula bat definitzeko.

Power Apps, kontrol-propietateak formulek gidatzen dituzte. Adibidez, aplikazio batean atzeko planoaren kolorea modu koherentean ezartzeko, bakoitzaren Bete propietatea formula komun batean ezar dezakezu:

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

Formula hau ager daitekeen hainbeste leku egonda, neketsua eta akatsa izaten da horiek guztiak eguneratzea aldaketaren bat behar izanez gero. Horren ordez, aldagai global bat sor dezakezu OnStart kolorea behin ezartzeko eta, ondoren, balioa berrerabili aplikazioan zehar:

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

Metodo hau hobea den arren, OnStart exekutatzen denaren araberakoa da BGColor balioa ezarri aurretik. BGColor egileak ezagutzen ez dituen aplikazioaren txokoren batean manipulatzea, beste norbaitek egindako aldaketa bat, eta zaila izan daiteke horren jarraipena egitea.

Izendatutako formulek alternatiba eskaintzen dute. Normalean idazten dugu propietatearen kontrola = adierazpena, horren ordez idatz dezakegu izena = adierazpena eta gero berriro erabili izena gure aplikazioan ordezteko adierazpena. Formula hauen definizioak eginak daude Formulak propietatean:

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

Formula izendatuak erabiltzearen abantailak honako hauek dira:

  • Formularen balioa beti dago eskuragarri. Ez dago denboraren menpekotasunik, ez OnStart exekuta daitekeena balioa ezarri aurretik, ez dago denborarik formularen balioa okerra da. Izendatutako formulek elkarri erreferentzia egin dezakete edozein ordenatan, betiere erreferentzia zirkularrik sortzen ez badute. Paraleloan kalkula daitezke.
  • Formularen balioa beti dago eguneratuta. Formulak kontrol-propietateen edo datu-base-erregistroen menpe dagoen kalkulu bat egin dezake, eta aldatzen diren heinean, formularen balioa automatikoki eguneratzen da. Ez duzu balioa eskuz eguneratu behar aldagai batekin egiten duzun bezala. Eta formulak behar denean bakarrik kalkulatzen dira.
  • Formularen definizioa aldaezina da. Definizioa Formulak egiazko iturri bakarra da eta balioa ezin da aldatu beste nonbait aplikazioan. Aldagaiekin, baliteke koderen batek balio bat ustekabean aldatzea, baina hori ez da posible izendatutako formulekin.
  • Formularen kalkulua atzeratu daiteke. Bere balioa aldaezina denez, behar denean beti kalkula daiteke, hau da, behar den arte ez da kalkulatu behar. Formularen balioak ez dira erabiltzen ahalik eta screen2 aplikazio batena bistaratzen den ez da kalkulatu behar screen2 ikusgai egon arte. Lan hau atzeratuz gero, aplikazioa kargatzeko denbora hobetu daiteke. Izendatutako formulak deklaratiboak dira eta sistemari nola eta noiz kalkulatzen diren optimizatzeko aukerak ematen dizkiote.
  • Izendatutako formulak Excel kontzeptua da. Power Fx erabiltzen da Excel kontzeptuak non posible den jende askok ezagutzen baitu Excel. Izendatutako formulak Excel-en izendatutako gelaxken eta izendun formulen baliokideak dira, izenen kudeatzailearekin kudeatzen direnak. Automatikoki birkalkulatzen dute kalkulu-orri bat bezala, kontrol-propietateak egiten duten bezala.

Izendatutako formulak definituta, bat bestearen ostean Formulak propietatea, amaiera bakoitza puntu eta komarekin. Formula mota adierazpen motetatik ondorioztatzen da, hau da, adierazpenaren elementuen moten arabera eta elkarrekin nola erabiltzen diren. Adibidez, izendun formula hauek uneko erabiltzaileari buruzko informazio erabilgarria berreskuratzen dute 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' );

Formulan UserTitle eguneratu egin behar da, egin daiteke erraz kokapen bakarrean. Bada UserPhone ez bada behar aplikazioan, dei horiek Erabiltzaileak taula Dataverse ez dira egingo. Ez dago zigorrik erabiltzen ez den formula definizioa sartzeagatik.

Izendatutako formulen muga batzuk:

  • Ezin dituzte portaera-funtzioak erabili edo bestela aplikazioan albo-ondorioak eragin.
  • Ezin dute erreferentzia zirkularrik sortu. Izan a = b; eta b = a; aplikazio berean ez da baimentzen.

OnError propietatea

Erabili OnError neurriak hartzeko errore bat hauteman ostean. Aukera globala ematen du errore-banda bat atzemateko azken erabiltzaileari erakutsi aurretik. Horretaz gain, erabil daiteke erregistratzeko errore bat Segimendua funtzioa edo idatzi datu-base edo web-zerbitzura.

Formula ebaluazio bakoitzaren emaitza akatsik dagoen egiaztatzen da. Errorea bada, OnError balioztatuko da berdinarekin FirstError eta AllErrors esparruaren aldagaiak presente daudenak formula osoa bilduko balitz IfError funtzio batean.

Bada OnError hutsik badago, lehenetsitako errorearen pankarta erakutsiko da FirstError.Message errorearena. Definitzea OnError formula gainidazten du portaera hori gaituz ekoizlea maneiatzeko errorea berri emanez egokitzat jotzen badu. Lehenetsitako portaera eska daiteke OnError berriro botaz errorea Errorea funtzioarekin. Hau erabilgarria da errore batzuk iragazi edo beste modu batean kudeatu behar badira, beste batzuk pasatu behar diren bitartean.

OnError ezin du ordezkatu kalkuluetako errore bat IfError egin dezakeen moduan. OnError deitzen den unean, errorea jada gertatu da eta formula kalkuluen bidez prozesatu da dagoeneko. * OnError* erroreen berri ematea soilik kontrolatzen du.

OnError formulak aldi berean ebaluatzen dira eta baliteke haien ebaluazioa beste errore batzuen prozesamenduarekin gainjartzea. Adibidez, aldagai global bat an OnError ren goialdean ezartzen baduzu eta geroago formula berean irakurtzen baduzu, baliteke balioa aldatu izana. Erabili Hurrengoarekin funtzioa formularen tokikoa den balio izenduna sortzeko.

Errore bakoitza OnError-k banan-banan prozesatzen badu ere, baliteke errore bakoitzerako banan-banan ez agertzea errore-pankarta lehenetsia. Errore-pancarta gehiegi aldi berean bistaratzea saihesteko, errore berak ez du errore-banda berririk piztuko duela gutxi erakutsi bada.

Adibidez

Demagun formularen bidez elkarrekin lotzen diren Etiketa kontrola eta Irrastatzailea kontrola:

Label1.Text = 1/Slider1.Value

Etiketa eta graduatzaileen kontrola Label1.Text = 1/Slider1.Value formularen bidez lotua.

Irristatzailea lehenetsita da 50. Graduatzailea 0ra mugitzen bada, Label1 ez du baliorik erakutsiko eta errore-banda bat agertuko da:

Graduatzaileen kontrola 0ra eraman da, eta ondorioz, zero errorearen zatiketa eta errore-banda sortu dira.

Ikus dezagun zer gertatu den zehatz-mehatz:

  1. Erabiltzaileak diapositiba ezkerrera eraman du eta Slide1.Value propietatea 0-ra aldatu da.
  2. Label1.Text automatikoki berriro ebaluatu da. Zero bidezko zatiketa gertatu da, errore bat sortuz.
  3. Formula honetan ez dago IfError. Zero errorearen zatiketa formula ebaluazioak itzultzen du.
  4. Label1.Text ezin du ezer erakutsi errore honengatik, beraz, hutsik egoera erakusten du.
  5. OnError deitzen da. Kudeatzailerik ez dagoenez, erroreen pankarta estandarra akatsen informazioarekin bistaratzen da.

Beharrezkoa izanez gero, formula ere alda genezake Label1.Text = IfError( 1/Slider1.Value, 0 ). Honek ez luke errorerik edo akatsen pankartarik sortuko. Ezin dugu errore baten balioa aldatu OnError une horretan akatsa jada gertatu denez, nola jakinaraziko den baino ez da kontua.

OnError kudeatzailea gehitzen badugu, ez du eraginik izango 5. urratsa baino lehen, baina errorea nola jakinarazten den eragin dezake:

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

App.OnError formula ezarri da Traza bat sortzeko.

Hau jarrita, aplikazioaren erabiltzailearen ikuspegitik, ez da akatsik egongo. Baina errorea Monitorearen arrastoan gehituko da, errorearen informazio iturriarekin batera: FirstError:

Graduatzaileen kontrola 0ra eraman da, eta ondorioz, zero errorearen zatiketa izan da, baina errore-bandarik ez.

Arrastoaz gain errore-banner lehenetsi bera ere bistaratu nahi badugu, errorea berriro bota dezakegu Errorea funtzioarekin Segimendua ostean deia Segimendua hor ez bazegoen bezala:

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

OnStart propietatea

Oharra

Erabilera OnStart propietateak errendimendu arazoak sor ditzake aplikazio bat kargatzean. Jabetza erabiltzeko bi arrazoi nagusietarako alternatibak sortzen ari garadatuak cachean gordetzea eta aldagai globalak konfiguratzea. Dagoeneko sortu dugu alternatiba bat erakutsiko den lehen pantaila definitzeko Navigate. Zure testuinguruaren arabera, baliteke propietate hau lehenespenez desgaituta egotea. Ez baduzu ikusten eta erabili behar baduzu, egiaztatu aplikazioaren Ezarpen aurreratuak gaitzeko etengailu bat dagoen. OnVisible pantaila baten propietatea ere erabil daiteke.

OnStart propietatea erabiltzaileak aplikazioa abian jartzen duenean exekutatzen da. Propietate hau sarritan erabiltzen da zeregin hauek egiteko:

  • Datuak bildumetan berreskuratu eta cache-tzeko Bildu funtzioa erabiliz.
  • Konfiguratu aldagai orokorrak ezarri funtzio erabiliz.

Formula hau lehenengo pantaila agertu aurretik ebaluatzen da. Ez da pantailarik kargatu, beraz ezin dituzu testuinguruko aldagaiak ezarri UpdateContext funtzioa erabiliz. Hala ere, testuinguruko aldagaiak pasatu ditzakezu Navigate funtzioa erabiliz.

Aldatu ondoren OnStart jabetza, proba ezazu gainean pasatuz Aplikazioa objektuan Zuhaitz ikuspegia panela, elipsia hautatuz (...), eta gero hautatuz Exekutatu OnStart. Aplikazioa lehenengo aldiz kargatzen denean ez bezala, lehendik dauden bildumak eta aldagaiak ezarrita egongo dira. Bilduma hutsak erabiltzen hasteko erabili ClearCollect funtzioa, Collect funtzioaren ordez.

Aplikazio-elementuen lasterbide-menua exekutatu OnStart-erako

Oharra

  • Erabiliz Navigate funtzioa OnStart jabetza erretiratu egin da. Lehendik dauden aplikazioek funtzionatzen jarraituko dute. Denbora mugatu batez, aplikazioaren ezarpenetan gaitu dezakezu oraindik (eskuragarri azpian Erretiratua). Hala ere, erabiliz Navigate modu honetan, aplikazioak kargatzeko atzerapenak ekar ditzake, sistemaren ebaluazioa egitera behartzen baitu OnStart lehen pantaila erakutsi aurretik. Erabili StartScreen propietatearen ordez bistaratzen den lehenengo pantaila kalkulatzeko.
  • Erretiratua etengailua desaktibatu egingo da gehitu duzun 2021eko martxoa baino lehen sortutako aplikazioetarako Navigate to OnStart 2021eko martxoa eta orain arte. Horrelako aplikazioak editatzen dituzunean Power Apps Studio, akats bat ikusiko duzu. Goian aipatutakoari buelta eman Erretiratua aldatu errore hau garbitzeko.

StartScreen propietatea

Oharra

StartScreen propietatea ez da propietateen zerrendan agertuko erretiratutako aukera Formula barra hobetua aktibatuta dagoenean. Desaktibatzeko Aberastutako formula-barra, joan Ezarpenak>Datozen eginbideak>Utzita> desaktibatu Aberastutako formula-barra aldatu erabili nahi duzunean StartScreen propietatea.

StartScreen propietateak zehazten du zein pantaila bistaratuko den lehenengo. Aplikazioa kargatzen denean behin ebaluatzen da eta bistaratu beharreko pantailako objektua itzultzen du. Lehenespenez, propietate hau hutsik egongo da eta Studio Zuhaitz ikuspegiko lehen pantaila erakusten da lehenik.

StartScreen portaera-funtzioak eduki ezin dituen datu-fluxuaren propietate bat da. Datu-fluxuaren funtzio guztiak eskuragarri daude, batez ere funtzio eta seinale hauek erabili lehen zein pantaila erakutsi behar den zehazteko:

  • Parametroa funtzioa aplikazioa hasteko erabilitako parametroak irakurtzeko.
  • Erabiltzailea funtzioa uneko erabiltzaileari buruzko informazioa irakurtzeko.
  • LookUp, Iragazi, CountRows, Max, eta beste funtzio batzuk datu-iturburu batetik irakurtzen dutenak.
  • Edozein API konektore baten bidez deitzen du, baina kontuz ibili azkar itzultzen dela.
  • Bezalako seinaleak Konexioa, Iparrorratza, eta Aplikazioa.

Oharra

Aldagai globalak eta bildumak, urtean sortutakoak barne OnStart, ez daude eskuragarri StartScreen. Hori egiteko alternatiba deklaratiboak daude bidean daudenak. Murrizketa honi buruzko iritzia jasotzeko, joan hona Power Apps komunitatearen foroa.

Bada StartScreen errore bat itzultzen du, Studio Tree ikuspegiko lehen pantaila balu bezala erakutsiko da StartScreen ezarri gabe zegoen. Erabili IfError akatsak atzemateko eta errore-pantaila egoki batera birbideratzeko funtzioa.

Aldatu ondoren StartScreen Studio-n jabetza, proba ezazu gainean pasatuz Aplikazioa objektuan Zuhaitz ikuspegia panela, elipsia hautatuz (...), eta gero hautatuz Nabigatu StartScreen. Pantaila aldatuko da aplikazioa kargatu balitz bezala.

Nabigatu StartScreen-era

Adibideak

Screen9

Hori adierazten du Screen9 aplikazioa abiarazten den bakoitzean lehenengo erakutsi behar da.

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

Param "admin-mode" erabiltzaileak ezarri duen egiaztatzen du eta hura erabiltzen du hasierako pantaila edo AdminScreen bistaratu behar den erabakitzeko.

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

Konferentzia bateko parte-hartzaile bat langile bat den egiaztatzen du eta abiaraztean pantaila egokira bideratzen du.

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

Bietara zuzentzen du aplikazioa API dei batean oinarrituta ForestScreen edo OceanScreen. Edozein arrazoirengatik APIak huts egiten badu, ErrorScreen ordez erabiltzen da.

StudioVersion propietatea

Erabili StudioVersion propietatea aplikazio bat argitaratzeko erabili den Power Apps Studio ren bertsioa bistaratzeko edo erregistratzeko. Hau erabilgarria izan daiteke arazketan eta zure aplikazioa Power Apps Studioren azken bertsio batekin berriro argitaratu dela ziurtatzeko.

StudioVersion testu gisa itzultzen da. Testuaren formatua denboran zehar alda daiteke eta osotasunean hartu behar da; saihestu zati indibidualak ateratzea.