Sdílet prostřednictvím


Objekt App v Power Apps

Platí pro: aplikace plátna modelem řízené aplikace

Poskytne informace o aktuálně spuštěné aplikaci a umožní ovládání jejího chování.

Popis

Jako kontrola, objekt Aplikace poskytuje vlastnosti, které identifikují, která obrazovka se zobrazuje, a které uživatele vyzývají k uložení změn, aby nedošlo ke ztrátě. Každá aplikace má objekt Aplikace.

Můžete napsat vzorce pro některé vlastnosti objektu Aplikace. V horní části podokna Stromové zobrazení vyberte objekt Aplikace, jako byste měli jakýkoli jiný ovládací prvek nebo obrazovku. Chcete-li zobrazit a upravit jednu z vlastností objektu, vyberte ji v rozevíracím seznamu vlevo od lišty vzorců.

Objekt aplikace v podokně stromového zobrazení.

Vlastnost ActiveScreen

Vlastnost ActiveScreen identifikuje zobrazovanou obrazovku.

Tato vlastnost vrací objekt obrazovky. Použijte jej k odkazování na vlastnosti aktuálně zobrazené obrazovky, jako je název se vzorcem App.ActiveScreen.Name. Tuto vlastnost můžete také porovnat s jiným objektem obrazovky, například s porovnávacím vzorcem App.ActiveScreen = Screen2 a vyzkoušet, jestli je aktuálně zobrazená obrazovka Screen2.

Použijte funkci Back nebo Navigate pro změnu zobrazované obrazovky.

Vlastnost BackEnabled

Vlastnost BackEnabled mění způsob, jakým aplikace reaguje na gesto zpět zařízení (přejeďte nebo použijte hardwarové tlačítko zpět na zařízeních Android, přejeďte zleva na zařízení iOS) při spuštění v mobilní aplikaci Power Apps. Je-li zapnuto, gesto zpět zařízení přejde zpět na obrazovku, která byla zobrazena naposledy, což je podobné vzorci Zpět. Když je vypnuto, gesto zpět zařízení vrátí uživatele do seznamu aplikací.

Vlatnosti ConfirmExit

Nikdo nechce přijít o neuložené změny. Použijte vlastnosti ConfirmExit a ConfirmExitMessage, které uživatele upozorní před uzavřením aplikace.

Poznámka:

  • ConfirmExit nefunguje v aplikacích, které jsou zabudovány, například v Power BI a SharePoint.
  • V současné době tyto vlastnosti mohou odkazovat na ovládací prvky pouze na první obrazovce, pokud je funkce náhledu Zpožděné načtení povolena (což ve výchozím nastavení pro nové aplikace je). Pokud jsou uvedeny odkazy, Power Apps Studio nezobrazuje chybu, ale výsledná publikovaná aplikace se neotevře v Power Apps Mobile nebo prohlížeči. Aktivně pracujeme na odstranění tohoto omezení. Mezitím můžete vypnout Zpožděné zatížení v Nastavení>Připravované funkce (pod Preview).

ConfirmExit

ConfirmExit je logická vlastnost, která v případě hodnoty true otevře před zavřením aplikace dialogové okno s potvrzením. Ve výchozím nastavení je tato vlastnost false a nezobrazí se žádné dialogové okno.

V situacích, kdy uživatel může mít v aplikaci neuložené změny, použijte tuto vlastnost k zobrazení potvrzovacího dialogového okna před ukončením aplikace. Použijte vzorec, který dokáže zkontrolovat proměnné a vlastnosti ovládání (například vlastnost Unsaved ovládacího prvku Edit form).

Potvrzovací dialogové okno se zobrazí v jakékoli situaci, kdy by mohla být data ztracena, jako v následujících příkladech:

  • Spuštění funkce Exit.
  • Pokud je aplikace spuštěna v prohlížeči:
    • Zavření prohlížeče nebo karty prohlížeče, na které je aplikace spuštěna.
    • Výběr tlačítka Zpět prohlížeče.
    • Spuštění funkce Launch s parametrem LaunchTarget o hodnotě Self.
  • Pokud je aplikace spuštěna v Power Apps Mobile (iOS nebo Android):
    • Přejetím přepnete do jiné aplikace v Power Apps Mobile.
    • Výběr tlačítka zpět na zařízení Android.
    • Spuštění funkce Launch pro spuštění další aplikace plátna.

Přesný vzhled potvrzovacího dialogového okna se může v jednotlivých zařízeních a verzích Power Apps lišit.

Diialogové okno pro potvrzení se neobjeví v Power Apps Studio.

ConfirmExitMessage

Ve výchozím nastavení se v potvrzovacím dialogovém okně zobrazuje obecná zpráva, například „Možná jste neuložili změny.“ v jazyce uživatele.

Použijte ConfirmExitMessage pro zobrazení vlastní zprávy v dialogovém okně pro potvrzení. Pokud je tato vlastnost prázdná, použije se výchozí hodnota. Vlastní zprávy jsou zkráceny podle potřeby, aby se vešly do potvrzovacího dialogového okna, takže nastavte délku zprávy nejvýše na několik řádků.

V prohlížeči se může zobrazit potvrzovací dialogové okno s obecnou zprávou z prohlížeče.

Poznámka:

Objekt App má další dvě vlastnosti OnMessage a BackEnabled, které jsou experimentální. Tyto vlastnosti budou nakonec z objektu App odstraněny. Tyto vlastnosti nedoporučujeme používat ve vašem provozním prostředí.

Příklad

  1. Vytvořte aplikaci, která obsahuje dva ovládací prvky formuláře, AccountForm a ContactForm.

  2. Nastavte vlastnost objektu AplikaceConfirmExit na tento výraz:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Toto dialogové okno se zobrazí, pokud uživatel změní data v obou formátech a poté se pokusí aplikaci zavřít bez uložení těchto změn.

    Dialogové okno Obecné potvrzení.

  3. Nastavte vlastnost objektu AplikaceConfirmExitMessage na tento vzorec:

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

    Toto dialogové okno se zobrazí, pokud uživatel změní data ve formuláři aplikace a poté se pokusí aplikaci zavřít bez uložení těchto změn.

    Dialogové okno pro potvrzení dle konkrétního formuláře.

Nastavení instrumentačního klíče pro Application Insights

Chcete-li exportovat protokoly aplikací generované systémem do Application Insights, musíte pro aplikaci plátna nastavit instrumentační klíč.

  1. Otevřete aplikaci pro úpravy v aplikaci Power Apps Studio.
  2. Vyberte objekt Aplikace ve stromovém zobrazení v levé navigaci.
  3. V podokně vlastností zadejte Instrumentační klíč.

Pokud se data do přehledů aplikace neodesílají, kontaktujte svého správce Power Platform a ověřte, zda nejsou přehledy aplikace deaktivovány na úrovni tenanta.

Vlastnost Formulas

Pojmenované vzorce použijte ve vlastnosti Formulas, abyste mohli definovat vzorec, který lze znovu použít v celé aplikaci.

Vzorce v Power Apps určují hodnotu vlastností ovládacího prvku. Chcete-li například konzistentně nastavit barvu pozadí v celé aplikaci, můžete nastavit vlastnost Fill každého ovládacího prvku na společný vzorec:

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

S tolika místy, kde lze tento vzorec použít, je zdlouhavé a náchylné k chybám je všechny aktualizovat, pokud je potřeba změna. Místo toho můžete vytvořit globální proměnnou ve vlastnosti OnStart, kterou jednou nastavíte barvu a poté ji znovu použijete v celé aplikaci:

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

I když je tato metoda lepší, záleží také na spuštění vlastnosti OnStart před zavedením hodnoty BGColor. Hodnota BGColor může být také zmanipulována v některé části aplikace, o které tvůrce neví, kterou provede někdo jiný a kterou může být těžké vystopovat.

Alternativu poskytují pojmenované vzorce. Stejně jako běžně píšeme control-property = expression, můžeme místo toho napsat name = expression a poté znovu použít name (název) v celé naší aplikaci, aby nahradil expression. Definice těchto vzorců jsou zadány ve vlastnosti Formulas:

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

Mezi výhody použití pojmenovaných vzorců patří:

  • Hodnota vzorce je vždy k dispozici. Neexistuje žádná závislost na čase, není třeba, aby vlastnost OnStart byla spuštěna dříve, než je nastavena hodnota, nestane se, že by kdy byla hodnota vzorce nesprávná. Pojmenované vzorce na sebe mohou odkazovat v libovolném pořadí, pokud nevytvářejí cyklický odkaz. Lze je počítat paralelně.
  • Hodnota vzorce je vždy aktuální. Vzorec může provést výpočet, který je závislý na vlastnostech ovládacího prvku nebo záznamech databáze, a když se tyto mění, hodnota vzorce se automaticky aktualizuje. Hodnotu není třeba ručně aktualizovat jako u proměnné. Mimo to se vzorce přepočítávají pouze v případě potřeby.
  • Definice vzorce je neměnná. Definice ve vlastnosti Formulas je jediný správný zdroj a hodnotu lze v celé aplikaci změnit jen zde. U proměnných je možné, že některý kód neočekávaně změní hodnotu, ale tato obtížně laditelná situace není možná s pojmenovanými vzorci.
  • Výpočet vzorce lze odložit. Protože je jeho hodnota neměnná, lze ji vždy vypočítat, když je potřeba, což znamená, že se nemusí počítat, dokud není potřeba. Hodnoty vzorce, které nejsou použity do chvíle zobrazení obrazovky2 aplikace, se nemusí počítat, dokud je obrazovka2 viditelná. Odložení této práce může zlepšit dobu načítání aplikace. Pojmenované vzorce jsou deklarativní a umožňují systému optimalizovat způsob a čas jejich výpočtu.
  • Pojmenované vzorce jsou konceptem aplikace Excel. Power Fx používá koncepty aplikace Excel, kde je to možné, protože mnoho lidí Excel dobře zná. Pojmenované vzorce jsou ekvivalentem pojmenovaných buněk a pojmenovaných vzorců v aplikaci Excel, spravované pomocí Správce názvů. Přepočítávají se automaticky stejně jako buňky v tabulkovém procesoru a vlastnosti ovládacích prvků.

Pojmenované vzorce jsou definovány jeden po druhém ve vlastnosti Formulas, každá končí středníkem. Typ vzorce je odvozen z typů prvků ve vzorci a ze způsobu jejich společného použití. Tyto pojmenované vzorce například načítají užitečné informace o aktuálním uživateli 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' );

Pokud vzorec pro UserTitle vyžaduje aktualizaci, lze to snadno provést v tomto jediném místě. Pokud aplikace nevyžaduje UserPhone, pak se tato volání neprovedou pro tabulku Users v Dataverse. Za zahrnutí definice vzorce, který se nepoužije, není žádná penalizace.

Některá omezení pojmenovaných vzorců:

  • Nemohou používat funkce chování nebo jinak způsobovat vedlejší účinky v rámci aplikace.
  • Nemohou vytvořit cyklický odkaz. Není povoleno, aby aplikace obsahovala jak a = b;, tak b = a;.

Uživatelsky definované funkce

Důležité

Power Fx zahrnuje dlouhý seznam předdefinovaných funkcí jako If, Text a Set. Uživatelem definované funkce umožňují psát vlastní funkce, které přebírají parametry a vracejí hodnotu, stejně jako předdefinované funkce. Uživatelem definované funkce si můžete představit jako rozšíření pojmenovaných vzorců, které přidává parametry a podporuje vzorce chování.

Můžete například definovat pojmenovaný vzorec, který vrací beletristické knihy z knihovny:

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 parametrů bychom museli definovat samostatné pojmenované vzorce pro každý žánr. Místo toho ale parametrizujme náš pojmenovaný vzorec:

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

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

Nyní můžeme volat LibraryGenre( "Fiction" ), LibraryGenre( "Reference" ) nebo filtrovat jiné žánry pomocí jediné uživatelem definované funkce.

Syntaxe je následující:

NázevFunkce( [ NázevParametru1: TypParametru1 [ , NázevParametru2: TypParametru2 ... ] ] ) : NávratovýTyp = Vzorec;

  • NázevFunkce – povinné. Název uživatelem definované funkce.
  • NázvyParametrů – volitelné. Název parametru funkce.
  • TypyParametrů – volitelné. Název typu, buď vestavěný název datového typu, název zdroje dat nebo typ definovaný funkcí Type.
  • NávratovýTyp – povinné. Typ návratové hodnoty z funkce.
  • Vzorec – povinné. Vzorec, který vypočítá hodnotu funkce na základě parametrů.

Každý parametr a výstup z uživatelem definované funkce musí být typován. V tomto příkladu SelectedGenre: Text definuje první parametr naší funkce jako typ Text a SelectedGenre je název parametru, který se používá v těle operace Filter. Podporované názvy typů najdete v tématu Datové typy. Funkce Type se používá k vytvoření agregovaného typu pro naši knihovnu, abychom mohli vrátit tabulku knih z naší funkce.

Definovali jsme LibraryType jako typ množného čísla tabulky záznamů. Pokud chceme funkci předat jednu knihu, můžeme extrahovat typ záznamu pro tuto tabulku pomocí funkce RecordOf:

BookType := Type( RecordOf( LibraryType ) );

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

Porovnávání záznamů pro parametry funkce je přísnější než v jiných částech Power Fx. Pole hodnoty záznamu musí být správnou podmnožinou definice typu a nesmí obsahovat další pole. Například IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) bude mít za následek chybu.

Všimněte si, že rekurze zatím není podporována uživatelem definovanými funkcemi.

Chování uživatelem definované funkce

Pojmenované vzorce a většina uživatelem definovaných funkcí nepodporují funkce chování s vedlejšími účinky, například Set nebo Notify. Obecně platí, že pokud je to možné, je nejlepší vyhnout se aktualizaci stavu, místo toho se spolehnout na funkční programovací vzory a umožnit Power Fx automatické přepočítávání vzorců podle potřeby. Existují však případy, kdy je to nevyhnutelné. Chcete-li zahrnout logiku chování do uživatelem definované funkce, zabalte tělo do složených závorek:

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

Nyní můžeme zavolat Spend( 12 ), abychom zkontrolovali, zda máme hodnotu 12 v našich Úsporách, a pokud ano, odečíst 12 a přičíst 12 k proměnné Utraceno. Návratový typ této funkce je Prázdné, protože nevrací hodnotu.

Syntaxe uživatelem definované funkce chování je:

NázevFunkce( [ NázevParametru1: TypParametru1 [ , NázevParametru2: TypParametru2 ... ] ] ) : NávratovýTyp = { Vzorec1 [ ; Vzorec2 ... ] };

  • NázevFunkce – povinné. Název uživatelem definované funkce.
  • NázvyParametrů – volitelné. Název parametru funkce.
  • TypyParametrů – volitelné. Název typu, buď vestavěný název datového typu, název zdroje dat nebo typ definovaný funkcí Type.
  • NávratovýTyp – povinné. Typ návratové hodnoty z funkce. Použijte Prázdné, pokud funkce nevrací hodnotu.
  • Vzorec – povinné. Vzorec, který vypočítá hodnotu funkce na základě parametrů.

Stejně jako u všech vzorců Power Fx provádění nekončí, když dojde k chybě. Po volání funkce Error zabrání funkce If změnám hodnot Úspory a Výdaje. FunkciIfError lze také použít k zastavení dalšího provádění po chybě. I když vrátí Prázdné, vzorec může stále vrátit chybu, pokud se vyskytne problém.

Uživatelsky definované typy

Důležité

Pojmenované vzorce lze použít s funkcí Type k vytvoření uživatelem definovaných typů. Použijte := místo = k definování uživatelem definovaného typu, například Book := Type( { Title: Text, Author: Text } ). Další informace a příklady viz funkce Type.

Vlastnost OnError

Pomocí vlastnosti OnError můžete provést akci, když dojde k chybě kdekoli v aplikaci. Poskytuje globální příležitost zachytit nápis s chybou, ještě než se zobrazí koncovému uživateli. Může být také použit k zapsání chyby do protokolu pomocí funkce Trace nebo zapisovat do databáze či webové služby.

V aplikacích plátna je výsledek každého vyhodnocení vzorce kontrolován, zda v něm není chyba. Pokud dojde k chybě, OnError je vyhodnoceno se stejnými proměnnými rozsahu FirstError a AllErrors, které by byly použity, kdyby byl celý vzorec zabalen do funkce IfError.

Je-li OnError prázdné, zobrazí se výchozí nápis s chybou pomocí FirstError.Message chyby. Definováním vzorce OnError přepíšete toto chování a umožníte tvůrci nakládat s hlášením chyby tak, jak uzná za vhodné. Výchozí chování lze vyžádat v OnError opětovným vyhozením chyby pomocí funkce Error. Použijte opětovné vyvolání chyby, pokud mají být některé chyby odfiltrovány nebo zpracovány jiným způsobem, zatímco jiné mají být předány.

OnError neumí tímto způsobem nahradit chybu ve výpočtech tak, jako IfError. Pokud je vyvolána vlastnost OnError, chyba již nastala a byla zpracována pomocí výpočtů vzorce jako IfError; OnError se stará pouze o hlášení chyb.

Vzorce OnError jsou vyhodnocovány souběžně a je možné, že se jejich vyhodnocení může překrývat se zpracováním jiných chyb. Pokud například nastavíte globální proměnnou na začátku vlastnosti OnError a přečtěte si ji později ve stejném vzorci, hodnota se mohla změnit. K vytvoření pojmenované hodnoty, která platí jen v rámci vzorce, použijte funkci With .

I když každá chyba je zpracována individuálně v vlastnosti OnError, výchozí nápis s chybou se nemusí zobrazit pro každou chybu jednotlivě. Aby nedocházelo k zobrazení příliš mnoha nápisů s chybou současně, nápis s chybou se znovu nezobrazí, pokud již byl nedávno zobrazen.

Příklad

Dejme tomu, že máme ovládací prvky Label a Slider, které jsou svázány dohromady prostřednictvím vzorce:

Label1.Text = 1/Slider1.Value

Ovládací prvek Label a Slider svázané prostřednictvím vzorce Label1.Text = 1/Slider1.Value.

Výchozí hodnota ovládacího prvku Slider je 50. Pokud je posuvník posunut na 0, Label1 nezobrazí žádnou hodnotu a zobrazí se nápis s chybou:

Ovládací prvek Slider se přesunul na 0, což vedlo k chybě dělení nulou a zobrazení nápisu s chybou.

Podívejme se podrobně na to, co se stalo:

  1. Uživatel posunul Slider doleva a vlastnost Slider1.Value se změnila na 0.
  2. Vlastnost Label1.Text byla automaticky přepočítána. Došlo k dělení nulou a generovala se chyba.
  3. V tomto vzorci není žádná funkce IfError. Vyhodnocení vzorce vrátí chybu dělení nulou.
  4. Vlastnost Label1.Text pro tuto chybu nemůže nic zobrazit, takže ukazuje a prázdný stav.
  5. Je vyvolána vlastnost OnError. Protože neexistuje žádná obslužná rutina, zobrazí se standardní nápis s informacemi o chybě.

V případě potřeby můžeme vzorec také upravit na Label1.Text = IfError( 1/Slider1.Value, 0 ). Výsledkem použití IfError je žádná chyba nebo nápis s chybou. Nemůžeme změnit hodnotu chyby ve vlastnosti OnError, jelikož v tu chvíli již k chybě došlo, je pouze otázkou, jak bude hlášena.

Pokud přidáme obslužnou rutinu OnError, nic před krokem 5 neovlivní, ale může ovlivnit způsob, jakým je chyba hlášena:

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

Vzorec App.OnError nastaven pro generování trasování.

Z pohledu uživatele aplikace nedojde při použití obslužné rutiny OnError k žádné chybě. Chyba však bude z FirstError přidána do trasování Monitoru, včetně zdroje informací o chybě:

Ovládací prvek Slider se přesunul na 0, což vedlo k chybě dělení nulou, ale nezobrazil se žádný nápis s chybou.

Pokud bychom chtěli mít kromě trasování také zobrazen stejný výchozí nápis s chybou, můžeme chybu znovu vyvolat pomocí funkce Error po volání Trace, stejně jako v případě, kdy volání Trace nebylo použito:

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

Vlastnost OnStart

Poznámka:

Použití vlastnosti OnStart může způsobit problémy s výkonem při načítání aplikace. Právě vytváříme alternativy pro dva hlavní důvody pro použití vlastnosti – ukládání dat do mezipaměti a nastavení globálních proměnných. Již jsme vytvořili alternativu pro definování první obrazovky, se kterou se má zobrazit s Navigate. V závislosti na vašem kontextu může být tato vlastnost ve výchozím nastavení zakázána. Pokud ji nevidíte a potřebujete ji použít, zkontrolujte v Rozšířených nastaveních aplikace přepínač, který ji aktivuje. Lze použít i vlastnost obrazovky OnVisible. Ve výchozím nastavení platí, že pokud je neblokující pravidlo OnStart aktivní, umožňuje, aby se funkce OnStart spouštěla současně s jinými pravidly aplikace. Pokud jsou tedy proměnné, na které je odkazováno v jiných pravidlech aplikace, inicializovány v rámci funkce OnStart, nemusí zatím dojít k jejich plné inicializaci. Kromě toho existuje možnost, že se obrazovka může vykreslit a stát se interaktivní před dokončením provádění funkcí Screen.OnVisible nebo App.OnStart, zejména pokud jejich provádění trvá dlouhou dobu.

Vlastnost OnStart se spustí, když uživatel spustí aplikaci. Tato vlastnost se často používá k provádění následujících úkolů:

  • Načíst a ukládat data do mezipaměti kolekcí pomocí funkce Collect.
  • Nastavit globální proměnné pomocí funkce Set.

Tento vzorec je vyhodnocen před zobrazením první obrazovky. Žádná obrazovka není načtena, takže nemůžete nastavit kontextové proměnné pomocí funkce UpdateContext. Proměnné kontextu však můžete předat pomocí funkce Navigate.

Poté, co změníte vlastnost OnStart, otestujte ji umístěním kurzoru myši nad objekt Aplikace v podokně Stromové zobrazení, vyberte tři tečky (...) a poté vyberte Spustit OnStart. Na rozdíl od prvního načtení aplikace budou již existující kolekce a proměnné nastaveny. Chcete-li začít s prázdnými kolekcemi, použijte funkci ClearCollect namísto funkce Collect.

Zástupce položky aplikace pro Run OnStart

Poznámka:

  • Použití funkce Navigate ve vlastnosti OnStart bylo vyřazeno. Stávající aplikace budou nadále fungovat. Po omezenou dobu ji můžete stále povolit v nastavení aplikace (k dispozici ve Vyřazeno). Nicméně pomocí Navigate tímto způsobem může dojít ke zpoždění načítání aplikace, protože to nutí systém dokončit vyhodnocení OnStart před zobrazením první obrazovky. Místo toho použijte vlastnost StartScreen pro vypočítání první zobrazené obrazovky.
  • Přepínač Vyřazeno bude vypnut u aplikací vytvořených před březnem 2021, do kterých jste přidali Navigate na OnStart od března 2021 do současnosti. Když takové aplikace upravujete v Power Apps Studio, může se zobrazit chyba. Zapněte přepínač Vyřazeno pro odstranění této chyby.

Vlastnost StartScreen

Vlastnost StartScreen určuje, která obrazovka se zobrazí jako první. Vyhodnotí se jednou při načtení aplikace a vrátí objekt obrazovky k zobrazení. Ve výchozím nastavení je tato vlastnost prázdná a první obrazovka ve stromovém zobrazení Studio se zobrazí jako první.

StartScreen je vlastnost toku dat, která nemůže obsahovat funkce chování. K dispozici jsou všechny funkce toku dat, zejména použijte tyto funkce a signály k určení, která obrazovka se má zobrazit jako první:

  • Funkce Param pro čtení parametrů používaných ke spuštění aplikace.
  • Funkce User pro čtení informací o aktuálním uživateli.
  • LookUp, Filter, CountRows, Max a další funkce, které čtou ze zdroje dat.
  • Všechna volání API prostřednictvím konektoru, ale buďte opatrní, vrátí se rychle.
  • Signály jako např. Spojení, Kompas a Aplikace.

Poznámka:

Globální proměnné a kolekce, včetně těch vytvořených v OnStart, nejsou dostupné v StartScreen. K dispozici jsou pojmenované vzorce, které jsou často lepší alternativou pro opakované použití vzorců v celé aplikaci.

Pokud StartScreen vrátí chybu, první obrazovka ve stromovém zobrazení Studio se zobrazí, jakoby StartScreen nebyla nastavena. Použijte funkci IfError, chcete-li zachytit případné chyby a přesměrovat na příslušnou chybovou obrazovku.

Poté, co změníte StartScreen ve Studiu, otestujte ji umístěním kurzoru myši nad objekt Aplikace v podokně Stromové zobrazení, vyberte tři tečky (...) a poté vyberte Přejít na StartScreen. Obrazovka se změní, jako by byla aplikace právě načtena.

Přechod na StartScreen

Příklady

Screen9

Označuje, že by Screen9 měl být zobrazen jako první při každém spuštění aplikace.

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

Zkontroluje, zda uživatel nastavil parametr „admin-mode“ a použije jej k rozhodnutí, zda se má nejprve zobrazit HomeScreen nebo AdminScreen.

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

Zkontroluje, zda je účastník konference zaměstnancem, a při spuštění jej přesměruje na správnou obrazovku.

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

Přesměruje aplikaci na základě volání API na ForestScreen nebo OceanScreen. Pokud API z nějakého důvodu selže, použije se ErrorScreen.

Vlastnost StudioVersion

Pomocí vlastnosti StudioVersion můžete zobrazit nebo zaprotokolovat verzi Power Apps Studio, která byla použita k publikování aplikace. To může být užitečné při ladění a zajištění toho, aby vaše aplikace byla znovu publikována s nejnovější verzí Power Apps Studio.

StudioVersion je vráceno jako text. Formát textu se může v průběhu času měnit a mělo by se s ním zacházet jako s celkem; vyvarujte se vytahování jednotlivých částí.