Aplikazioaren objektua Power Apps-en

Honi dagokio: Canvas aplikazioei

Eskuratu une honetan exekutatzen ari den aplikazioari buruzko informazioa eta kontrolatu aplikazioaren portaera.

Deskribapenak

Kontrol baten antzera, App objektuak propietateak ditu zein pantaila agertzen den identifikatzen dutenak eta aldaketak gordetzeko eskatzen dizutenak, ez galtzeko. Aplikazio guztiek dute aplikazioaren objektua.

Idatzi App objektuaren propietate batzuen formulak. Zuhaitz ikuspegia panelaren goialdean, hautatu aplikazioaren objektua, beste edozein kontrol edo pantailarekin egingo zenukeen moduan. Objektuaren propietateetako bat ikusteko edo editatzeko, hautatu formula-barraren ezkerreko goitibeherako zerrendan.

Zuhaitz-ikuspegiaren panelean hautatutako aplikazio-objektuaren pantaila-argazkia. Propietateen panela ikusgai.

Artikulu honek honako App objektu propietateak jasotzen ditu:

  • ActiveScreen – une honetan agertzen den pantaila.
  • BackEnabled – nola erantzuten duen aplikazioak gailuaren atzerako keinuari.
  • ConfirmExit eta ConfirmExitMessage – erabiltzaileari ohartarazi aplikazioa itxi aurretik.
  • Konexio katea – aplikazio insighten loging-a ezarri.
  • Formulak – izendatutako formulak, erabiltzaileak definitutako funtzioak eta erabiltzaileak definitutako motak definitu.
  • OnError – akatsak modu globalean kudeatu.
  • OnStart – aplikazioa hasten denean logic exekutatu.
  • StartScreen – ezarri aplikazioa kargatzen denean agertzen den lehen pantaila.
  • StudioVersion – itzuli aplikazioa argitaratu zuen Power Apps Studio bertsioa.

ActiveScreen propietatea

ActiveScreen propietateak unean bistaratzen den pantaila identifikatzen du.

Propietate honek pantailako objektu bat itzultzen du. Erabili pantailaren propietateak erreferentziatzeko, adibidez, formula App.ActiveScreen.Name izenarekin. Propietate hau beste pantaila-objektu batekin ere alderatu dezakezu, App.ActiveScreen = Screen2 konparazio-formularekin bezala, Screen2 uneko pantaila den egiaztatzeko.

Erabili Atzera edo Nabigatu funtzioa bistaratuko den pantaila aldatzeko.

BackEnabled propietatea

BackEnabled propietateak aplikazioak gailuaren atzerako keinuari nola erantzuten dion aldatzen du (irristatu edo erabili hardware atzera botoia Android gailuetan, edo irristatu ezkerretik iOS gailuetan) Power Apps mugikorrean exekutatzen denean. Gaituta dagoenean, gailuaren atzera keinua berriki erakutsitako pantailara itzultzen da, atzera formularen antzekoa. Desgaituta dagoenean, gailuaren atzera keinuak erabiltzailea aplikazioen zerrendara eramaten du.

ConfirmExit propietateak

Inork ez du gorde gabeko aldaketarik galdu nahi. Erabili ConfirmExit eta ConfirmExitMessage propietateak erabiltzaileari ohartarazteko aplikazioa itxi aurretik.

Oharra

  • ConfirmExit ez du funtzionatzen Power BI eta SharePoint-en txertatutako aplikazioetan, adibidez.
  • Berretsi-irteera ez da onartzen orrialde pertsonalizatuetan.
  • Orain, propietate horiek kontrolak lehen pantailan soilik erreferentzia ditzakete Atzeratutako karga aurrebistaren eginbidea gaituta badago (aplikazio berrietarako lehenespenez). Beste pantaila batzuei erreferentzia egiten badiezu, Power Apps Studio-k ez du errorerik erakutsiko, baina argitaratutako aplikazioa ez da irekiko Power Apps Mobile-n edo arakatzaile batean. Microsoft muga hori kentzeko lanean ari da. Bitartean, desaktibatu Karga atzeratuaEzarpenak>Datozen ezaugarrietan ( Aurrebista azpian).

ConfirmExit

ConfirmExit propietate boolearra da, eta egia denean, berrespen-koadro bat irekitzen du aplikazioa itxi aurretik. Berez, propietate hori faltsua gisa ezarrita dago eta ez da elkarrizketa-koadroa agertzen.

Erabiltzaileak aplikazioan gorde gabeko aldaketak izan ditzakeenean, erabili propietate hau berrespen-elkarrizketa-koadro bat erakusteko aplikaziotik irten aurretik. Erabili aldagaiak eta kontrol-propietateak egiaztatzen dituen formula (adibidez, Editatu inprimakiaren kontrolaren Gorde gabeko propietatea).

Berrespen-elkarrizketa-koadroa datuak galdu daitezkeen edozein egoeratan agertzen da, adibidez:

  • Exekutatu Irteera funtzioa.
  • Aplikazioa nabigatzaile batean exekutatzen bada:
    • Itxi aplikazioa exekutatzen den arakatzailea edo arakatzailearen fitxa.
    • Hautatu nabigatzailearen atzera botoia.
    • Exekutatu Launch funtzioa LaunchTarget batekin.
  • Aplikazioa Power Apps Mobile-n (iOS edo Android) exekutatzen bada:
    • Egin irristatu Power Apps Mobile-n beste aplikazio batera aldatzeko.
    • Hautatu atzera botoia Android gailu batean.
    • Exekutatu Abiarazi funtzioa beste oihal-aplikazio bat abiarazteko.

Berrespen-koadroaren itxura zehatza Power Apps-en gailu eta bertsioen arabera alda daiteke.

Berrespen-elkarrizketa-koadroa ez da Power Apps Studio-n bistaratzen.

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 behar bezala laburtzen dira berrespen-elkarrizketa-koadroan sartzeko; beraz, mantendu mezua gehienez lerro batzuetan.

Arakatzaile batean, berrespen-elkarrizketa-koadroak arakatzailearen mezu generiko bat erakutsi dezake.

Adibidea

  1. Ezar ezazu aplikazioaren objektuaren ConfirmExit propietatea adierazpen honetan:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Elkarrizketa-koadroa agertzen da erabiltzaileak datuak formatu batean aldatzen baditu eta gero aplikazioa itxi nahi badu aldaketa horiek gorde gabe.

    Baieztapen generiko elkarrizketa koadroa.

  2. Ezar ezazu aplikazioaren objektuaren ConfirmExitMessage propietatea formula honetan:

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

    Elkarrizketa-koadroak formulario zehatz bat erakusten du erabiltzaileak datuak aldatzen dituenean eta aplikazioa itxi nahi duenean aldaketa horiek gorde gabe.

    Inprimakiaren berariazko berrespen-elkarrizketa-koadroa.

Konexio-katearen propietatea

Erabili Connection string propietatea sistemak sortutako aplikazio logak Application Insights-era esportatzeko.

connection string ezartzeko:

  1. Ireki zure aplikazioa editatzeko Power Apps Studion.
  2. Hautatu Aplikazioa objektua ezkerreko nabigazio-zuhaitzaren ikuspegian.
  3. Idatzi Konexio-katea propietate-panelean.

Datuak Application Insights-era bidaltzen ez badira, jar zaitez harremanetan zure Power Platform-eko administratzailearekin eta egiaztatu Application Insights desgaituta dagoen alokairu mailan.

Formulen propietatea

Erabili Formulas propietatea zure aplikazioan berrerabilgarri den logika definitzeko. Formula propietateak hiru eraikuntza onartzen ditu:

Izendun formulak

Erabili izendatutako formulak Formulas propietatean zure aplikazioan berrerabili ahal izango duzun formula bat definitzeko.

Power Appsn, formulek kontrol-propietateen balioa zehazten dute. Adibidez, atzeko planoaren kolorea aplikazio osoan modu koherentean ezartzeko, ezarri kontrol bakoitzeko Fill propietatea formula komun batera:

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

Formula hau hainbeste lekutan agertzen denez, neketsua eta akatsak sortzen ditu aldaketa bat behar izanez gero denak eguneratzea. Horren ordez, sortu aldagai global bat OnStart-en kolorea behin ezartzeko, eta berrerabili balioa aplikazio osoan:

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. Baliteke 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 kontrol-propietate = adierazpena idazten duzun bezala, izena = adierazpena idatz dezakezu eta gero izena aplikazioan berrerabili adierazpena ordezkatzeko. Formula hauek definitu Formula 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, kode batek ustekabean balio bat alda dezake, baina arazo hau ez da posible formula izendatuekin.
  • 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 berriro kalkulatzen dira kalkulu-orri bateko gelaxkak eta kontrol-propietateak egiten duten bezala.

Formula izendatuak bata bestearen atzetik definitu Formula propietatean, bakoitza puntu eta koma batekin amaituz. Formularen mota formulako elementu motetatik eta elkarrekin nola erabiltzen diren ondorioztatzen da. 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' );

UserTitle-ren formula eguneratu behar bada, erraz eguneratu dezakezu toki honetan. 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.

Erabiltzaileak definitutako funtzioak

Power Fx integratutako funtzioen zerrenda luze bat biltzen du, hala nola If, Testua eta . a6> Ezarri. Erabiltzaileak definitutako funtzioak erabiliz, zure funtzio propioak idatz ditzakezu, parametroak hartzen dituztenak eta balio bat itzultzen dutenak, barneko funtzioen antzera. Erabiltzaileak definitutako funtzioak formula izendatuen luzapen gisa hartu, parametroak gehitzen dituena eta portaera formulak onartzen dituena.

Adibidez, liburutegi batetik fikziozko liburuak itzultzen dituen formula izendun bat defini dezakezu:

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

Parametrorik gabe, genero bakoitzerako formula izendapen bereiziak definitu behar dituzu. Baina, horren ordez, parametrizatu zure izendatutako formula:

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

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

Orain LibraryGenre( "Fiction" )deitu dezakezu , LibraryGenre( "Reference" ), edo beste genero batzuetan iragazi erabiltzaileak definitutako funtzio bakar bat erabiliz.

Sintaxia hau da:

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

  • FunctionName – Beharrezkoa. Erabiltzaileak definitutako funtzioaren izena.
  • ParameterNames – Aukerakoa. Funtzio-parametro baten izena.
  • ParameterTypes – Aukerakoa. Mota baten izena, barne dagoen datu motaren izena, datu iturri izena edo Type funtzioa erabiliz definitutako mota bat.
  • ReturnType – Beharrezkoa. Funtzioaren itzulera-balioaren mota.
  • Formula – Beharrezkoa. Parametroetan oinarrituta funtzioaren balioa kalkulatzen duen formula.

Parametro bakoitza eta erabiltzaileak definitutako funtzioaren irteera idatzi behar dituzu. Adibide honetan, SelectedGenre: Text funtzioaren lehen parametroa Text motako parametroa dela definitzen du, eta SelectedGenre gorputzean Filter operaziorako erabiltzen den parametroaren izena da. Ikus Datu motak onartutako mota-izenetarako. Type funtzioa liburutegirako mota agregatu bat sortzeko erabiltzen da, funtziotik liburuen taula bat itzultzeko.

Erregistroen taula plurala bezala definitzen LibraryType duzu. Liburu bakar bat funtzio bati pasatu nahi badiozu, taula honetarako erregistro mota atera dezakezu RecordOf funtzioa erabiliz:

BookType := Type( RecordOf( LibraryType ) );

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

Funtzio-parametroen erregistro-parekatzea estuagoa da Power Fx-ren beste zati batzuetan baino. Erregistro balio baten eremuak motaren definizioaren azpimultzo egokia izan behar dute eta ezin dute eremu gehigarririk barne. Adibidez, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) errore bat sortzen du.

Errekurtsioa oraindik ez da erabiltzaileak definitutako funtzioek onartzen.

Portaera erabiltzaileak definitutako funtzioak

Izendatutako formulek eta erabiltzaileek definitutako funtzio gehienek ez dituzte albo-ondorioak dituzten portaera-funtzioak onartzen, hala nola Ezarri edo Jakinarazpena. . Orokorrean, saihestu egoera eguneratzea ahal baduzu. Horren ordez, programazio funtzionaleko patroietan oinarritu eta Power Fx-ek formulak automatikoki berrkalkulatzea ahalbidetu. Baina, badaude kasuak non saihestezina den. Erabiltzaileak definitutako funtzio batean portaera-logika sartzeko, Doitu gorputza giltza kizkur artean:

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

Orain deitu Spend( 12 ) dezakezu zure Aurrezkietan 12 dolar dituzun egiaztatzeko, eta hala bada, 12 kobratu eta 12 gehitu Gastatutako aldagaian. Funtzio honen itzulera mota Void da, ez baitu baliorik itzultzen.

Erabiltzaileak definitutako portaera funtzio baten sintaxia hau da:

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

  • FunctionName – Beharrezkoa. Erabiltzaileak definitutako funtzioaren izena.
  • ParameterNames – Aukerakoa. Funtzio-parametro baten izena.
  • ParameterTypes – Aukerakoa. Mota baten izena, barnean dagoen datu motaren izena, datu-iturburuaren izena edo Mota funtzioa.
  • ReturnType – Beharrezkoa. Funtzioaren itzulera-balioaren mota. Erabili Void funtzioak baliorik itzultzen ez badu.
  • Formulak – Beharrezkoa. Parametroetan oinarrituta funtzioaren balioa kalkulatzen duen formula.

Power Fx formula guztietan bezala, exekuzioa ez da amaitzen errore bat aurkitzen denean. Errore funtzioa deitu ondoren, If funtzioakAurrezki eta Gastatuaren aldaketak gertatzea eragozten du. IfError funtzioa errore baten ondoren exekuzio gehiago saihesteko ere erabil daiteke. Void itzultzen badu ere, formulak errore bat itzul dezake arazoren bat izanez gero.

Erabiltzaileak definitutako motak

Erabili izendatutako formulak Type funtzioarekin erabiltzaileak definitutako motak sortzeko. Erabili :== en ordez, erabiltzaileak definitutako mota bat definitzeko, adibidez Book := Type( { Title: Text, Author: Text } ). Ikus Mota funtzioa informazio eta adibide gehiago lortzeko.

OnError propietatea

Erabili OnError aplikazioko edozein tokitan errore bat gertatzen denean neurriak hartzeko. Aukera globala eskaintzen du errore banner bat erabiltzaileari erakutsi aurretik atzemateko. Era berean, errore bat erregistratzeko erabil dezakezu Trace funtzioa erabiliz edo datu-base edo web zerbitzu batean idazteko.

Canvas aplikazioetan, formula ebaluazio bakoitzaren emaitza akatsik dagoen egiaztatzen da. Errore bat aurkitzen bada, OnErrorFirstError eta AllErrors esparru-aldagai berdinekin ebaluatzen da, formula osoa IfError funtzio batean bilduta badago.

OnError hutsik badago, errore-banner lehenetsi batek errorearen FirstError.Message erakutsiko du. OnError formula bat definitzeak portaera hori gainidazten du, beraz, sortzaileak erroreen berri behar bezala kudeatu ahal izango du. OnError-en portaera lehenetsia eskatu dezakezu errorea berriro botatuz Error funtzioa erabiliz. Erabili birjaurtitzeko ikuspegia errore batzuk modu desberdinean iragazi edo kudeatu nahi badituzu, baina utzi beste batzuk pasatzen.

OnError ek ezin du ordezkatu kalkuluetako errore bat IfError k egin dezakeen moduan. OnError deitzen bada, errorea jada gertatu da eta formula kalkuluen bidez prozesatzen da, hala nola IfError; OnError-ek erroreen berri ematea soilik kontrolatzen du.

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

OnError-ek errore bakoitza banan-banan prozesatzen badu ere, errore bandera lehenetsia ez da agertu akats bakoitzerako banan-banan ere. Errore banner gehiegi aldi berean agertzea saihesteko, errore banner bera berriro ez da agertzen berriki erakutsi bada.

Adibidea

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. Irristailua 0ra mugitzen baduzu, Label1-ek ez du baliorik erakusten, eta errore banner bat agertzen da:

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

Ikus dezagun zer gertatzen den xehetasunez:

  1. Irristailua ezkerrera mugitzen duzu eta Slider1.Value propietatea 0ra aldatzen da.
  2. Label1.Text automatikoki berriro ebaluatzen du. Zeroz zatitzea gertatzen da, errore bat sortuz.
  3. Formula honetan ez dago IfError. Zero errorearen zatiketa formula ebaluazioak itzultzen du.
  4. Label1.Text ek 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.

Behar izanez gero, formula Label1.Text = IfError( 1/Slider1.Value, 0 )ere alda dezakezu. IfError erabiltzeak esan nahi du ez dagoela errorerik edo errore-bannerrik. Ezin duzu OnError-etik errore baten balioa aldatu, errorea jada gertatu delako - OnError-ek bakarrik kontrolatzen du nola jakinarazten den.

OnError kudeatzaile bat gehitzen baduzu, ez du eraginik izango 5. urratsaren aurreko urratsetan, baina errorearen berri emateko modua aldatzen du:

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

App.OnError formula ezarri da Traza bat sortzeko.

OnError kudeatzaile honekin, aplikazioaren erabiltzaileak ez du errorerik ikusten. Baina errorea monitorearen aztarnari gehitzen zaio, FirstError-eko errore-informazioaren iturburua barne:

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

Errore bandera lehenetsia eta trazapenarekin batera erakutsi nahi badituzu, errorea berriro bota Errore funtzioa erabiliz Trace deiaren ondoren, Trace ez balitz bezala:

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

OnStart propietatea

Oharra

OnStart propietatea erabiltzeak errendimendu arazoak sor ditzake aplikazio bat kargatzerakoan. Kontuan hartu alternatiba hauek OnStart-era logika gehitu aurretik:

  • Datuak gordetzeko edo aldagai globalak ezartzeko, erabili formula izendatu bat Formulas propietatean, ahal den neurrian.
  • Lehen pantaila erakusteko ezartzeko, erabili StartScreen propietatea Nabigatu ordez.
  • Pantaila zehatz bat agertzen denean logika exekutatzeko, erabili pantailaren OnVisible propietatea.

Zure testuinguruaren arabera, OnStart propietatea lehenetsita desgaituta egon daiteke. Ikusten ez baduzu eta erabili behar baduzu, egiaztatu aplikazioaren ezarpen aurreratuak gaitzeko etengailu bat lortzeko.

OnStart ez-blokeatzaile araua gaituta dagoenean (lehenetsia), OnStart beste aplikazio arauekin batera exekutatzen da. Ondorioz:

  • OnStart-en hasierako aldagaiak ez dira beti guztiz hasieratu beste aplikazio arauek irakurtzen dituztenean.
  • Pantaila bat errendatu eta interaktibo bihur daiteke App.OnStart edo Screen.OnVisible exekutatu aurretik, batez ere funtzio horiek denbora luzea behar badute.

OnStart propietatea erabiltzaileak aplikazioa abian jartzen duenean exekutatzen da. Erabili propietate hau honelako:

  • Bildumetako datuak berreskuratu eta cachean cachean gordetzen ditu Bildu funtzioa erabiliz.
  • Konfiguratu aldagai orokorrak ezarri funtzio erabiliz.

Formula hau lehenengo pantaila agertu aurretik exekutatzen da. Ez da pantailarik kargatu, beraz ezin dituzu testuinguruko aldagaiak ezarri UpdateContext funtzioa erabiliz. Testuinguru-aldagaiak pasa ditzakezu Nabigatu funtzioarekin.

OnStart propietatea aldatu ondoren, probatu Aplikazio objektuaren gainean pasatuz Zuhaitz-ikuspegiaren panelean, elipsi (...) hautatu, eta hautatu Exekutatu Abiaraztean. Aplikazioa lehen aldiz kargatzen denean ez bezala, lehendik dauden bildumak eta aldagaiak dagoeneko ezarrita daude. Bilduma hutsak erabiltzen hasteko erabili ClearCollect funtzioa, Collect funtzioaren ordez.

Aplikazio-elementuen lasterbide-menua exekutatu OnStart-erako

Oharra

  • OnStart propietatearen Nabigazio funtzioa erabiltzea erretiratu egiten da. Lehendik dauden aplikazioek funtzionatzen jarraitzen dute. Denbora mugatu baterako, aplikazioaren ezarpenetan gaitu dezakezu ( Erretiratuta). Baina Navigate modu honetan erabiltzeak aplikazioaren karga atzerapenak eragin ditzake, sistema OnStart exekutatzera behartzen baitu lehen pantaila erakutsi aurretik. Erabili StartScreen propietatea bistaratuko den lehenengo pantaila ezartzeko.
  • Erretiratutako etengailua desaktibatuta 2021eko martxoa baino lehen sortutako aplikazioetarako, non NabigatuOnStart-era gehitu zenuen 2021eko martxotik orain arte. Power Apps Studio-n aplikazio hauek editatzean, errore bat ikusten duzu. Aktibatu erretiratutako etengailua errore hau garbitzeko.

StartScreen propietatea

StartScreen propietateak zein pantaila erakutsiko duen ezartzen du lehenengo. Power Apps-ek propietate hau behin ebaluatzen du aplikazioa kargatzen duenean eta pantaila objektua erakusteko itzultzen duenean. Lehenespenez, propietate hau hutsik, eta Estudioko zuhaitz-ikuspegiko lehenengo pantaila agertzen da lehenengo.

StartScreen portaera-funtziorik eduki ezin duen datu-fluxuaren propietate bat da. Datu-fluxuaren funtzio guztiak erabilgarri daude. Erabili funtzio eta seinale hauek zein pantaila erakutsi behar den lehenengo erabakitzeko:

  • Param funtzioa aplikazioa abiarazteko erabiltzen diren parametroak irakurtzeko.
  • Erabiltzailea funtzioa uneko erabiltzaileari buruzko informazioa irakurtzeko.
  • Bilatu, Iragazkia, CountRows, Max, eta datu-iturburu batetik irakurtzen duten beste funtzio batzuk.
  • API deiak konektore baten bidez. Ziurtatu deia azkar itzultzen dela.
  • Bezalako seinaleak Konexioa, Iparrorratza, eta Aplikazioa.

Oharra

Aldagai orokorrak eta bildumak, OnStart-en sortutakoak barne, ez daude erabilgarri StartScreen-en. Izendatutako formulak eskuragarri daude eta askotan formulak aplikazioan berrerabiltzeko alternatiba hobeak dira.

StartScreen-ek errore bat itzultzen badu, Estudioko zuhaitz-ikuspegiko lehen pantaila StartScreen ezarrita ez balego bezala agertuko da. Erabili IfError funtzioa akatsak harrapatzeko eta errore-pantaila batera birbideratzeko.

Estudioko hasierako pantaila aldatu ondoren, probatu Aplikazioa objektuaren gainean pasatu Zuhaitz-ikuspegiaren panelean, elipsi (...) hautatu, eta hautatu Nabigatu hasierako pantailara. Pantaila aldatu egiten da, aplikazioa kargatu berri balitz bezala.

Nabigatu StartScreen-era

Adibideak

Screen9

Screen9 Aplikazioa abiarazten den bakoitzean agertzen da lehenengo.

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

Parametroa "admin-mode" ezarrita dagoen egiaztatzen du, eta Hasierako pantaila edo AdminScreen lehenengo agertzen den erabakitzeko erabiltzen du.

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

Parte-hartzaile bat langilea 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. APIak huts egiten badu, aplikazioak erabiliko ErrorScreen du horren ordez.

StudioVersion propietatea

Erabili StudioVersion propietatea aplikazio bat argitaratzeko erabilitako Power Apps Studio-ren bertsioa erakusteko edo erregistratzeko. Propietate honek zure aplikazioa Power Apps Studio-ren azken bertsio batekin berriro argitaratzea egiaztatzen eta egiaztatzen laguntzen du.

StudioVersion-ek testua itzultzen du. Testu honen formatua denboran zehar alda daiteke, beraz, tratatu osotasun gisa eta ez atera zati indibidualak.