Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Platí pre: aplikácie Canvas
Získajte informácie o aktuálne spustenej aplikácii a ovládajte správanie aplikácie.
Popis
Rovnako ako ovládací prvok, aj objekt aplikácie má vlastnosti, ktoré identifikujú obrazovku a zobrazujú vás výzvu na uloženie zmien, aby ste o ne neprišli. Každá aplikácia má objekt aplikácie.
Písanie vzorcov pre niektoré vlastnosti objektu aplikácie . V hornej časti tably Stromová štruktúra zvoľte objekt aplikácie, ako by ste urobili pri akomkoľvek inom ovládacom prvku alebo obrazovke. Ak chcete zobraziť alebo upraviť niektorú z vlastností objektu, vyberte ju v rozbaľovacom zozname naľavo od riadka vzorcov.
Tento článok sa venuje nasledujúcim vlastnostiam objektu aplikácie :
- ActiveScreen – aktuálne zobrazená obrazovka.
- BackEnabled – spôsob reakcie aplikácie na gesto späť v zariadení.
- ConfirmExit a ConfirmExitMessage – upozorňujú používateľa pred zavretím aplikácie.
- Reťazec pripojenia – nastavte zapisovanie do denníka služby Application Insights.
- Vzorce – definujú pomenované vzorce, funkcie definované používateľom a typy definované používateľom.
- OnError – riešenie chýb v celom svete.
- OnStart – spustenie logiky pri spustení aplikácie.
- StartScreen – nastaví obrazovku, ktorá sa zobrazí ako prvá po načítaní aplikácie.
- StudioVersion – vráti verziu Power Apps Studia, ktorá aplikáciu publikovala.
Vlastnosť ActiveScreen
Vlastnosť ActiveScreen identifikuje práve zobrazenú obrazovku.
Táto vlastnosť vracia objekt obrazovky. Používa sa na odkazovanie na vlastnosti aktuálnej obrazovky, ako je napríklad názov pomocou vzorca App.ActiveScreen.Name. Môžete tiež porovnať túto vlastnosť s iným objektom obrazovky, napríklad pomocou vzorca porovnania App.ActiveScreen = Screen2 a skontrolovať, či screen2 predstavuje aktuálnu obrazovku.
Pomocou funkcie Back alebo Navigate môžete prepínať zobrazenú obrazovku.
Vlastnosť BackEnabled
Vlastnosť BackEnabled mení spôsob, akým aplikácia reaguje na gesto späť v zariadení (potiahnutím prstom alebo použitím tlačidla Späť na hardvér v zariadeniach s Androidom alebo potiahnutím prstom zľava v zariadeniach so systémom iOS) pri spustení v mobilnej aplikácii Power Apps. Po zapnutí sa gesto späť zariadenia vráti na obrazovku, ktorá bola naposledy zobrazená, čo je podobné vzorcu Back . Keď je zariadenie vypnuté, gesto späť presunie používateľa do zoznamu aplikácií.
Vlastnosti ConfirmExit
Nikto nechce prísť o neuložené zmeny. Pomocou vlastností ConfirmExit a ConfirmExitMessage upozornite používateľa pred zatvorením aplikácie.
Poznámka
- Potvrdiť, že funkciaExit nefunguje v aplikáciách vložených napríklad do služby Power BI a SharePointu.
- Potvrdenieexit nie je podporované na vlastných stránkach.
- Teraz môžu tieto vlastnosti odkazovať na ovládacie prvky iba na prvej obrazovke, ak je povolená funkcia Oneskorené načítanie ukážky (ktorá je predvolene pre nové aplikácie). Ak odkazujete na iné obrazovky, Power Apps Studio chybu nezobrazí, ale publikovaná aplikácia sa neotvorí v aplikácii Power Apps Mobile ani prehliadači. Microsoft pracuje na odstránení tohto obmedzenia. Medzičasom vypnite možnosť Oneskorené načítanie v nastaveniach>Nadchádzajúcich funkcií (v časti Ukážka).
ConfirmExit
ConfirmExit je boolovská vlastnosť, ktorá v prípade hodnoty true otvorí dialógové okno s potvrdením ešte pred zavretím aplikácie. V predvolenom nastavení má táto vlastnosť príznak false a nezobrazí sa žiadne dialógové okno.
Ak používateľ môže mať neuložené zmeny v aplikácii, použite túto vlastnosť na zobrazenie potvrdzovacieho dialógového okna pred opustením aplikácie. Použite vzorec, ktorý kontroluje premenné a vlastnosti ovládacích prvkov (napríklad vlastnosť Unsaved ovládacieho prvku Formulár na úpravy ).
Dialógové okno potvrdenia sa zobrazí v každej situácii, v ktorej je možné stratiť údaje, napríklad:
- Spustite funkciu Exit .
- Ak je aplikácia spustená v prehliadači:
- Zatvorte prehliadač alebo kartu prehliadača, na ktorej je aplikácia spustená.
- Vyberte tlačidlo Späť v prehliadači.
- Spustite funkciu Launch s názvom Self LaunchTarget.
- Ak je aplikácia spustená v aplikácii Power Apps Mobile (iOS alebo Android):
- Potiahnutím prstom sa v službe Power Apps Mobile prepnete na inú aplikáciu.
- Vyberte tlačidlo Späť na zariadení s Androidom.
- Spustite funkciu Launch a spustite inú aplikáciu plátna.
Presný vzhľad potvrdzovacieho dialógového okna sa môže líšiť v rámci zariadení a verzií služby Power Apps.
Dialógové okno potvrdenia sa v aplikácii Power Apps Studio nezobrazuje.
ConfirmExitMessage
V predvolenom nastavení sa v dialógovom okne s potvrdením zobrazí všeobecná správa, napríklad „Možno ste neuložili zmeny.“ v jazyku používateľa.
Použitie ConfirmExitMessage a poskytnite vlastnú správu v dialógovom okne s potvrdením. Ak je táto vlastnosť prázdna, použije sa predvolená hodnota. Vlastné správy sa podľa potreby skrátia, aby sa zmestili do dialógového okna potvrdenia, preto správu udržte v niekoľkých riadkoch.
V prehliadači môže potvrdzujúcie dialógové okno zobraziť všeobecnú správu z prehliadača.
Príklad
Nastavte vlastnosť objektu AplikácieConfirmExit na tento výraz:
AccountForm.Unsaved Or ContactForm.UnsavedDialógové okno sa zobrazí, ak používateľ zmení údaje v ľubovoľnom formulári a potom sa pokúsi aplikáciu zavrieť bez uloženia týchto zmien.
Nastavte vlastnosť objektu AplikácieConfirmExitMessage na tento vzorec:
If( AccountForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Dialógové okno zobrazí správu pre konkrétny formulár, keď používateľ zmení údaje v oboch formulároch, a potom sa pokúsi zavrieť aplikáciu bez uloženia týchto zmien.
Vlastnosť reťazca pripojenia
Použite vlastnosť Reťazec pripojenia na export denníkov aplikácií generovaných systémom do služby Application Insights.
Nastavenie connection string:
- Otvorte aplikáciu na úpravu v Power Apps Studio.
- Vyberte objekt Aplikácia v ľavom navigačnom strome.
- Na table Vlastnosti zadajte reťazec pripojenia .
Ak sa údaje neodošlú do služby Application Insights, obráťte sa na správcu Power Platformy a skontrolujte, či je funkcia Application Insights na úrovni nájomníka zakázaná.
Vlastnosť vzorcov
Pomocou vlastnosti Vzorce môžete definovať opätovne použiteľnú logiku v aplikácii. Vlastnosť Formulas podporuje tri konštrukty:
- Pomenované vzorce – priradia názov vzorcu a opätovne použijete hodnotu v celej aplikácii.
- Funkcie definované používateľom – pomenované vzorce, ktoré vezmú parametre a vrátia hodnotu.
- Typy definované používateľom – pomenované typy môžete opakovane používať vo vzorcoch a podpisoch funkcií.
Pomenované vzorce
Pomocou pomenovaných vzorcov vo vlastnosti Vzorce môžete definovať vzorec, ktorý môžete používať opakovane v celej aplikácii.
V Power Apps vzorce určujú hodnotu vlastností ovládacieho prvku. Ak chcete napríklad konzistentne nastaviť farbu pozadia v aplikácii, nastavte vlastnosť Fill pre každý ovládací prvok na spoločný vzorec:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Na mnohých miestach, kde sa tento vzorec zobrazí, sa stáva zdĺhavým a náchylným na chyby, aby sa mohol aktualizovať všetky, ak je potrebná zmena. Namiesto toho v službe OnStart vytvorte globálnu premennú, ktorá nastaví farbu raz, a potom znova použijete hodnotu v celej aplikácii:
App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Aj keď je táto metóda lepšia, závisí aj od spustenia OnStart predtým, ako sa stanoví hodnota pre BGColor. BGColor môže byť tiež zmanipulované v niektorom rohu aplikácie, o ktorom tvorca nevie, zmena vykonaná niekým iným, ktorú môže byť ťažké vystopovať.
Pomenované vzorce poskytujú alternatívu. Rovnako ako bežne píšete vlastnosť control-property = výraz, môžete namiesto toho zapísať výraz name = expression a potom opakovane použiť názov v celej aplikácii na nahradenie výrazu. Definujte tieto vzorce vo vlastnosti Vzorce :
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Výhody používania pomenovaných vzorcov zahŕňajú:
- Hodnota vzorca je vždy k dispozícii. Neexistuje žiadna závislosť na časovaní, žiadne OnStart, ktoré sa musí spustiť ako prvé pred nastavením hodnoty, žiadny čas, v ktorom je hodnota vzorca nesprávna. Pomenované vzorce môžu na seba odkazovať v ľubovoľnom poradí, pokiaľ nevytvárajú zacyklený odkaz. Môžu byť vypočítané paralelne.
- Hodnota vzorca je vždy aktuálna. Vzorec môže vykonať výpočet, ktorý závisí od vlastností ovládacieho prvku alebo záznamov databázy, a keď sa zmenia, hodnota vzorca sa automaticky aktualizuje. Hodnotu nemusíte ručne aktualizovať ako pri premennej. A vzorce sa prepočítavajú len v prípade potreby.
- Definícia vzorca je nemenná. Definícia v časti Vzorce je jediným zdrojom pravdy a hodnotu nie je možné zmeniť niekde inde v aplikácii. V prípade premenných môže nejaký kód neočakávane zmeniť hodnotu, ale táto ťažko ladená situácia nie je pri pomenovaných vzorcoch možná.
- Výpočet vzorca môže byť odložený. Pretože jeho hodnota je nemenná, dá sa vždy vypočítať, keď je to potrebné, čo znamená, že sa nemusí počítať, kým to nie je potrebné. Hodnoty vzorcov, ktoré sa nepoužívajú, kým sa nezobrazí obrazovka2 aplikácie, sa nemusia vypočítať, kým sa nezobrazí obrazovka2. Odloženie tejto práce môže skrátiť čas načítania aplikácie. Pomenované vzorce sú deklaratívne a poskytujú systému príležitosti na optimalizáciu spôsobu a času ich výpočtu.
- Pomenované vzorce sú koncept programu Excel. Power Fx používa koncepty programu Excel, kde je to možné, keďže tak veľa ľudí dobre pozná Excel. Pomenované vzorce sú ekvivalentom pomenovaných buniek a pomenovaných vzorcov v Exceli a spravujú sa pomocou Správcu názvov. Prepočítavajú sa automaticky ako bunky tabuľky a ovládacie vlastnosti.
Vo vlastnosti Vzorce definujte pomenované vzorce jedna za druhou a každá končí bodkočiarkou. Typ vzorca sa odvodzuje z typov prvkov vo vzorci a zo spôsobu ich spoločného použitia. Napríklad tieto pomenované vzorce získavajú užitočné informácie o aktuálnom používateľovi z 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' );
Ak je potrebné aktualizovať vzorec funkcie UserTitle , môžete ho jednoducho aktualizovať na tomto mieste. Ak nie je v aplikácii potrebná vlastnosť UserPhone, potom sa nebudú uskutočňovať hovory na tabuľku Používatelia v Dataverse. Neexistuje žiadna penalizácia za zahrnutie definície vzorca, ktorá sa nepoužije.
Niektoré obmedzenia pomenovaných vzorcov:
- Nemôžu používať funkcie správania alebo inak spôsobovať vedľajšie účinky v rámci aplikácie.
- Nemôžu vytvoriť zacyklený odkaz. Využitie a = b; a b = a; v rovnakej aplikácii nie je povolené.
Užívateľom definované funkcie
Power Fx obsahuje dlhý zoznam vstavaných funkcií, ako napríklad If, Text a Nastaviť. Pomocou používateľom definovaných funkcií môžete napísať vlastné funkcie, ktoré vezmú parametre a vrátia hodnotu, rovnako ako vstavané funkcie. Predstavte si funkcie definované používateľom ako rozšírenie na pomenované vzorce, ktoré pridávaujú parametre a podporujú vzorce správania.
Môžete napríklad definovať pomenovaný vzorec, ktorý vráti beletristické knihy z knižnice:
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" );
Bez parametrov je potrebné definovať samostatné pomenované vzorce pre každý žáner. Namiesto toho však parametrizujte pomenovaný vzorec:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Teraz môžete volať LibraryGenre( "Fiction" ), LibraryGenre( "Reference" )alebo filtrovať podľa iných žánrov pomocou jednej funkcie definovanej používateľom.
Syntax je:
FunctionName( [ ParameterName1: ParameterType1 [, Názov parametra2: Typ parametra2 ... ] ] ) : Typ návratu = Vzorec;
- FunctionName – povinné. Názov funkcie definovanej používateľom.
- ParameterNames – Voliteľné. Názov parametra funkcie.
- ParameterTypes – voliteľné. Názov typu, buď vstavaný názov typu údajov, názov zdroja údajov alebo typ definovaný pomocou funkcie Type .
- ReturnType – povinné. Typ návratovej hodnoty z funkcie.
- Vzorec – povinné. Vzorec, ktorý vypočíta hodnotu funkcie na základe parametrov.
Musíte zadať každý parameter a výstup z funkcie definovanej používateľom. V tomto príklade definuje prvý parameter funkcie, SelectedGenre: Text ktorý má byť typu Text, a SelectedGenre je názov parametra, ktorý sa používa v tele operácie Filter. Podporované názvy typov nájdete v časti Typy údajov .
Funkcia Type sa používa na vytvorenie agregovaného typu pre knižnicu, aby ste z funkcie mohli vrátiť tabuľku kníh.
Definujete LibraryType ako tabuľku typu záznamov v množnom čísle. Ak chcete funkcii odovzdať jednu knihu, môžete extrahovať typ záznamu pre túto tabuľku pomocou funkcie RecordOf:
BookType := Type( RecordOf( LibraryType ) );
IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);
Zhoda záznamov pre parametre funkcií je prísnejšia ako v iných častiach Power Fx. Polia hodnoty záznamu musia byť správnou podmnožinou definície typu a nemôžu obsahovať ďalšie polia. Výsledkom je napríklad IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) chyba.
Rekurzie zatiaľ nie sú podporované funkciami definovanými používateľom.
Správanie užívateľom definované funkcie
Pomenované vzorce a väčšina funkcií definovaných používateľom nepodporujú funkcie správania s vedľajšími účinkami, ako napríklad Nastaviť alebo Upozorniť. Vo všeobecnosti sa stav neaktualizujte, ak je to možné. Namiesto toho sa spoliehajte na funkčné programovacie vzory a umožnite službe Power Fx automaticky prepočítať vzorce podľa potreby. Sú však prípady, kedy sa tomu nedá vyhnúť. Ak chcete zahrnúť logiku správania do funkcie definovanej používateľom, Zabaliť telo v zložených zátvorkách:
Spend( Amount: Number ) : Void = {
If( Amount > Savings,
Error( $"{Amount} is more than available savings" ),
Set( Savings, Savings - Amount );
Set( Spent, Spent + Amount)
);
}
Teraz môžete zavolať, Spend( 12 ) aby ste skontrolovali, či máte v úspore 12, a ak áno, môžete ju odpísať o 12 a pridať 12 do premennej Spent (Minuté). Návratový typ tejto funkcie je Void , pretože nevracia žiadnu hodnotu.
Syntax funkcie definovanej používateľom správania je:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : Typ návratu = { Vzorec1 [ ; Vzorec2 . .. ] };
- FunctionName – povinné. Názov funkcie definovanej používateľom.
- ParameterNames – Voliteľné. Názov parametra funkcie.
- ParameterTypes – voliteľné. Názov typu, buď vstavaný názov typu údajov, názov zdroj údajov alebo typ definovaný pomocou Typ funkcia.
- ReturnType – povinné. Typ návratovej hodnoty z funkcie. Ak funkcia nevracia hodnotu, použite Void .
- Vzorce – povinné. Vzorec, ktorý vypočíta hodnotu funkcie na základe parametrov.
Ako pri všetkých Power Fx vzorcoch, vykonávanie nekončí, keď sa vyskytne chyba. Po volaní funkcie Errorfunkcia If zabráni vykonávaniu zmien v časti Úspory a Vynaložené. Funkciu IfError je možné použiť aj na zabránenie ďalšiemu vykonávaniu po chybe. Aj keď vzorec vráti Void, v prípade problému môže stále vrátiť chybu.
Typy definované používateľom
Použite pomenované vzorce s funkciou Type na vytvorenie typov definovaných používateľom. Použite := namiesto = na definovanie typu definovaného používateľom, napríklad Book := Type( { Title: Text, Author: Text } ). Ďalšie informácie a príklady nájdete vo funkcii Typ .
Vlastnosť OnError
Ak sa kdekoľvek v aplikácii vyskytne chyba, použite možnosť OnError . Poskytuje globálnu príležitosť zachytiť chybový pruh predtým, ako sa zobrazí koncovému používateľovi. Môžete ju použiť aj na zapísanie chyby do denníka pomocou funkcie Trace alebo zapisovania do databázy či webovej služby.
V aplikáciách Canvas sa výsledok každého hodnotenia vzorca kontroluje, či neobsahuje chybu. Ak sa vyskytne chyba, vyhodnotí sa OnError s rovnakými premennými rozsahu FirstError a AllErrors, ktoré aplikácia používa, ak je celý vzorec zabalený vo funkcii IfError.
Ak je onError prázdny, v banneri s predvolenou chybou sa zobrazí hlásenie chyby FirstError.Message . Definovanie vzorca OnError toto správanie prepíše, aby tvorca mohol podľa potreby spracovať hlásenie chýb. Predvolené správanie môžete v prípade OnError vyžiadať opätovným prehratím chyby pomocou funkcie Error. Prístup presunutia údajov použite, ak chcete odfiltrovať alebo spracovať niektoré chyby inak, ale nechajte ostatných prejsť.
OnError nedokáže nahradiť chybu vo výpočtoch tak, ako to dokáže IfError . Ak sa onError vyvolá, chyba sa už vyskytla a už je spracovaná prostredníctvom výpočtov vzorcov, ako je napríklad IfError; Funkcia OnError kontroluje iba hlásenie chýb.
Vzorce OnError sa vyhodnocujú súbežne a je možné, že ich hodnotenie sa môže prekrývať s spracovaním iných chýb. Ak napríklad nastavíte globálnu premennú v hornej časti OnError a prečítate ju neskôr v rovnakom vzorci, hodnota sa mohla zmeniť. Použite funkciu With vytvorte pomenovanú hodnotu, ktorá je pre vzorec lokálna.
Hoci OnError spracuje každú chybu individuálne, predvolená chyba sa nemusí zobraziť pre každú chybu samostatne. Ak sa chcete vyhnúť zobrazeniu priveľa chybových bannerov v rovnakom čase, ten istý pruh chyby sa znova nezobrazí, ak sa nedávno zobrazil.
Príklad
Zohľadnite ovládací prvok Štítok a Jazdec, ktoré sú spolu spojené pomocou vzorca:
Label1.Text = 1/Slider1.Value
Predvolená hodnota jazdca je 50. Ak presuniete jazdec na hodnotu 0, ovládací prvok Label1 nezobrazí žiadnu hodnotu a zobrazí sa chybový pruh:
Poďme sa pozrieť na to, čo sa deje podrobnejšie:
- Posuňte jazdec doľava a vlastnosť Slider1.Value sa zmení na 0.
- Label1.Text sa automaticky prehodnocuje. Dôjde k deleniu nulou, čím sa vygeneruje chyba.
- V tomto vzorci nie je IfError. Delenie nulovou chybou vráti vyhodnotenie vzorca.
- Label1.Text nemôže pre túto chybu nič zobraziť, takže zobrazuje prázdny stav.
- Vyvolá sa OnError . Keďže neexistuje žiadny obslužný program, zobrazí sa štandardný chybový banner s informáciami o chybe.
V prípade potreby môžete vzorec zmeniť aj na Label1.Text = IfError( 1/Slider1.Value, 0 ). Použitie funkcie IfError znamená, že nedošlo k žiadnej chybe alebo chybovému banneru. Hodnotu chyby nie je možné zmeniť z funkcie OnError , pretože chyba sa už vyskytla – funkcia OnError kontroluje iba to, ako bola hlásená.
Ak pridáte obslužný program OnError , nemá to vplyv na kroky pred krokom 5, ale mení spôsob hlásenia chyby:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
V prípade tohto obslužného programu OnError sa používateľovi aplikácie nezobrazuje žiadna chyba. Chyba sa však pridá k sledovanie monitora, vrátane zdroja informácií o chybe z FirstError:
Ak chcete tiež zobraziť pruh s predvolenou chybou spolu so sledovaním, znova prejdite na chybu pomocou funkcie Error po volaní sledovania , akoby sa tam nenachádzala služba Trace :
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Vlastnosť OnStart
Poznámka
Pri načítaní aplikácie môže dôjsť k problémom s výkonom pomocou vlastnosti OnStart . Pred pridaním logiky do vlastnosti OnStart zvážte tieto alternatívy:
- Ak chcete ukladať údaje do vyrovnávacej pamäte alebo nastaviť globálne premenné, použite pomenovaný vzorec vo vlastnosti Vzorce tam, kde je to možné.
- Ak chcete nastaviť, aby sa zobrazila prvá obrazovka, použite vlastnosť StartScreen namiesto navigate.
- Ak chcete spustiť logiku, keď sa zobrazí konkrétna obrazovka, použite vlastnosť OnVisible obrazovky.
V závislosti od kontextu môže byť vlastnosť OnStart predvolene zakázaná. Ak ju nevidíte a potrebujete ju použiť, prepínač, ktorý ju povolíte, nájdete v časti Rozšírené nastavenia aplikácie.
Keď je pravidlo OnStart odblokovanie povolené (predvolené), spustí sa onStart v rovnakom čase ako ostatné pravidlá aplikácie. V dôsledku toho:
- Premenné inicializované v službe OnStart sa nemusia úplne inicializovať, keď si ich prečítajú iné pravidlá aplikácie.
- Obrazovka sa môže vykresliť a byť interaktívna ešte pred dokončením funkcie App.OnStart alebo Screen.OnVisible , najmä ak trvá dlhší čas.
Vlastnosť OnStart sa spustí, keď používateľ spustí aplikáciu. Pomocou tejto vlastnosti môžete:
- Načítajte a ukladajte údaje do vyrovnávacej pamäte v kolekciách pomocou funkcie Collect .
- Nastavte globálne premenné pomocou funkcie Set.
Tento vzorec sa spustí ešte pred zobrazením prvej obrazovky. Nie je načítaná žiadna obrazovka, takže nemôžete nastaviť kontextové premenné pomocou funkcie UpdateContext. Kontextové premenné však môžete odovzdať pomocou funkcie Navigate .
Po zmene vlastnosti OnStart ju otestujte tak, že ukážete na objekt aplikácie na table Stromové zobrazenie , vyberiete tri bodky (...) a potom položku Spustiť na začiatku. Na rozdiel od toho, kedy sa aplikácia načíta po prvýkrát, existujúce kolekcie a premenné sú už nastavené. Ak chcete začať s prázdnymi zbierkami, použite funkciu ClearCollect namiesto funkcie Collect.
Poznámka
- Funkcia Navigate vo vlastnosti OnStart sa vyradí. Existujúce aplikácie naďalej fungujú. Obmedzený čas môžete povoliť v nastaveniach aplikácie (v časti Vyradené). Použitie funkcie Navigate týmto spôsobom však môže spôsobiť oneskorenie načítania aplikácie, pretože systém pred zobrazením prvej obrazovky vynúti dokončenie spustenia vlastnosti OnStart . Na nastavenie prvej zobrazenej obrazovky použite vlastnosť StartScreen .
- Prepínač na dôchodku je vypnutý pre aplikácie vytvorené pred marcom 2021, kde ste pridali funkciu Navigate do služby OnStart od marca 2021 do súčasnosti. Pri úprave týchto aplikácií v Power Apps Studio sa zobrazí chyba. Túto chybu vymažete zapnutím vyradeného prepínača.
Vlastnosť StartScreen
Vlastnosť StartScreen nastaví, ktorá obrazovka sa zobrazí ako prvá. Power Apps vyhodnotí túto vlastnosť raz pri načítaní aplikácie a vráti objekt obrazovky, ktorý sa má zobraziť. Predvolene je táto vlastnosť prázdna a ako prvá sa zobrazí prvá obrazovka v stromovom zobrazení aplikácie Studio.
StartScreen je vlastnosť toku údajov, ktorá nemôže obsahovať funkcie správania. K dispozícii sú všetky funkcie toku údajov. Na výber obrazovky, ktorá sa zobrazí ako prvá, použite tieto funkcie a signály:
- Funkcia Param na čítanie parametrov používaných na spustenie aplikácie.
- Funkcia User na čítanie informácií o aktuálnom používateľovi.
- LookUp, Filter, CountRows, Max a ďalšie funkcie, ktoré čítajú z zdroj údajov.
- Volania API prostredníctvom konektora. Skontrolujte, či sa volanie vráti rýchlo.
- Signály ako napr. Pripojenie, Kompas a App.
Poznámka
Globálne premenné a kolekcie vrátane tých, ktoré boli vytvorené v nástroji OnStart, nie sú na obrazovke StartScreen k dispozícii. Pomenované vzorce sú k dispozícii a sú často lepšou alternatívou na opätovné použitie vzorcov v celej aplikácii.
Ak obrazovka StartScreen vráti chybu, zobrazí sa prvá obrazovka v stromovom zobrazení aplikácie Studio, akoby obrazovka StartScreen nebola nastavená. Funkcia IfError sa používa na zachytenie prípadných chýb a presmerovanie na obrazovku s chybami.
Po zmene obrazovky StartScreen v aplikácii Studio ju otestujte tak, že ukážete na objekt aplikácie na table Stromové zobrazenie , vyberiete tri bodky (...) a potom vyberiete položku Prejsť na obrazovku StartScreen. Obrazovka sa zmení tak, ako keby sa aplikácia práve načítala.
Príklady
Screen9
Screen9 sa zobrazí ako prvá pri každom spustení aplikácie.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Skontroluje, či je nastavenie param "admin-mode" nastavené, a používa ho na rozhodnutie, či sa obrazovka HomeScreen alebo AdminScreen zobrazí ako prvá.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Skontroluje, či je účastník zamestnancom, a nasmeruje ich na správnu obrazovku pri spustení.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Nasmeruje aplikáciu na základe volania API na buď na ForestScreen alebo OceanScreen. Ak rozhranie API zlyhá, aplikácia namiesto toho použije ErrorScreen .
Vlastnosť StudioVersion
Pomocou vlastnosti StudioVersion môžete zobraziť alebo zaznamenať verziu aplikácie Power Apps Studio použitú na publikovanie aplikácie. Táto vlastnosť pomáha pri ladení a kontrole opätovného publikovania aplikácie pomocou najnovšej verzie aplikácie Power Apps Studio.
StudioVersion vráti text. Formát tohto textu sa môže meniť v priebehu času, takže ho spracúvajte ako celok a neextrahujte jednotlivé časti.