Povolení konzistentního prostředí napříč relacemi pomocí funkcí LoadData a SaveData
Microsoft Dataverse pro Microsoft Teams přináší integrovanou datovou platformu pro Teams s minimem kódu. Poskytuje úložiště relačních dat, bohaté datové typy, správu na podnikové úrovni a nasazení řešení jedním kliknutím. Dataverse for Teams umožňuje každému snadno vytvářet a nasazovat aplikace.
I když používání Power Apps v Teams přináší mnoho výhod, jednou z nejnáročnějších voleb při návrhu aplikace je schopnost udržovat konzistentní prostředí napříč relacemi.
Pokud se při používání aplikace přepneme na jinou kartu v Teams, abychom se podívali na wiki nebo do plánovače, nebo dokonce s někým chatujeme, dojde ke ztrátě dat relace aplikace a relaci musíme začít úplně od začátku. Pokud jsme například uprostřed kontroly prováděné v aplikaci Inspection a na okamžik přepneme karty, všechna data, která byla při kontrole zachycena, budou ztracena a budeme muset všechny tyto informace znovu získat.
V tomto článku se naučíme, jak používat funkce LoadData() a SaveData() k ukládání dat relace uvnitř aplikace, aby se předešlo ztrátě vykonané práce během přepínání karet v Teams.
Podívejte se na toto video a zjistěte, jak zajistit konzistentní prostředí napříč relacemi:
Předpoklady
K dokončení této lekce potřebujeme možnost vytvářet aplikace v Teams, které jsou k dispozici jako součást výběru předplatného Microsoft 365.
Přihlášení do Teams
Přihlaste se do Teams pomocí desktopové aplikace Teams.
Vytvoření nového týmu
Postup vytvoření nového týmu:
- Vyberte kartu Týmy.
- Vyberte příkaz Připojit nebo vytvořte tým v levé dolní části obrazovky.
- Vyberte položku Vytvořit tým od začátku.
- Vyberte možnost Veřejný a tým pojmenujte. V našem příkladu použijeme název „Partneři MSFT“.
- Vyberte Vytvořit.
Vytvoří se nový tým, který je uveden na kartě Týmy.

Vytvoření aplikace Power App v Teams
Chcete-li vytvořit aplikaci Power Apps v Teams, musíte v Teams otevřít Power Apps Studio, jak je zobrazeno níže.

V seznamu aplikací vyberte Power Apps, připněte ji do levého podokna a poté ji vyberte.

Výběrem položky Začít hned vytvořte první aplikaci.
Vyberte tým, pro který má být tato aplikace vytvořena — pro tento tým se vytvoří prostředí Power Apps (existuje jedno prostředí Power Apps na každý tým).
Při vytváření prostředí zavřete dialogové okno, které říká Vše se připravuje….
Vyberte horní kartu Sestavit a během několika sekund by se vytvořená aplikace měla objevit v seznamu.
Otevřete aplikaci a všimněte si, že se ve výchozím nastavení vytvoří v rozložení pro tablet.

Zadejte název aplikace, například Ukázka trvalé relace, a vyberte Uložit.

Aplikace se vytvoří spolu s galerií.

Chcete-li vytvořit novou tabulku, vyberte Vytvořit novou tabulku.
Zadejte Účty a vyberte Vytvořit.

Přidejte dva sloupce: — Telefon s datovým typem Telefon a Město s datovým typem Text.


Přidejte ukázková data do tří sloupců.
Opakováním přidejte alespoň pět záznamů.
Vyberte Zavřít.

Tabulka účtů bude přidána jako datová tabulka
Vyberte Stromové zobrazení > vyberte BrowseGallery1 > vyberte Účty jako zdroj dat.

Publikování aplikace v Teams
Vyberte Publikovat v Teams.

Vyberte Další.

Výběrem + přidejte aplikaci do kanálu „Obecné“.


Přejděte na tým Ukázka trvalé relace a všimněte si, že aplikace Ukázka trvalé relace se zobrazí v horní části jako karta.

Testování problému
Otevřete aplikaci Ukázka trvalé relace z týmu Ukázka trvalé relace.

Vyberte Nový záznam a vytvořte tak nový účet v aplikaci.
Zadejte jméno a telefonní číslo
Než zadáte Město a uložíte záznam, přepněte se na jinou kartu (například Soubory nebo Wiki v horní části nebo do jiného týmu) a poté se vraťte do aplikace.
Všimněte si, že data zadaná ve dvou sloupcích již nejsou na obrazovce k dispozici a jsou ztracena

Řešení: Použijte funkce SaveData() a LoadData()
K vyřešení výše uvedeného problému použijeme funkce LoadData() a SaveData(). Vytvoříme kolekci pro data zadaná ve formuláři během zadávání dat a budeme data ukládat do této kolekce, dokud nebude záznam potvrzen nebo uložen. Pokud záznam nebyl uložen a musíme se z nějakého důvodu přesunout mimo obrazovku, budou data uložena v kolekci a načtou se, jakmile budeme zpět v aplikaci. Jakmile bude záznam uložen, kolekci vymažeme, aby byla připravena k zachycení nových dat při vytváření dalšího nového záznamu.
Začněte tím, že se ujistíte, že aplikované změny jsou použitelné pouze v případě nového záznamu. Budeme tedy aktualizovat proměnnou newMode, které bude použito jako podmínka ve formuláři úprav ke zjištění, jaká data je třeba zobrazit. Vyberte Nový záznam a přidejte následující vzorec do vlastnosti OnSelect tlačítka:
NewForm(EditForm1); UpdateContext({newMode: true})
Dále přidáme data z jednotlivých vstupních ovládacích prvků do kolekce a poté data z této kolekce uložíme do místního souboru. Vyberte pole pro zadávání textu — v našem případě je to "DataCardValue1" z karty "Name_DataCard1" ve formuláři "EditForm1" pro pole Název pole — a zadejte následující vzorec do vlastnosti OnChange vstupního pole:
Collect( colAccount, { Column:"Name",Value:Self.Value} ); SaveData(colAccount,"colAccount").Touto změnou přidáváme data do místní mezipaměti, takže pokud uživatel aplikaci opustí, jeho data nebudou ztracena.

Obdobně zadejte následující kód do vlastnosti OnChange pole Telefon (DataCardValue2):
Collect(colAccount, {Column:"Phone",Value:Self.Value}); SaveData(colAccount,"colAccount");A zadejte následující kód do vlastnosti OnChange pole Město (DataCardValue3):
Collect(colAccount {Column:"City", Value:Self.Value}); SaveData(colAccount, "colAccount");Nyní aktualizujeme vlastnost OnStart aplikace, takže pokud jsou v kolekci uložena nějaká data, načtou se na začátku aplikace.
Přejděte na vlastnost Aplikace > OnStart a přidejte následující vzorec:
LoadData(colAccount,"colAccount", true)
Dále musíme aktualizovat vlastnost Default datových polí, aby když se stránka načte po návratu do aplikace, měla by ve výchozím nastavení zobrazovat data z kolekce (pokud data v kolekci existují).
Vyberte pole DataCard a aktualizujte vlastnost Default datové karty podle následujícího vzorce pro uvedená pole.
V poli Název zadejte Name_DataCard1:
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "Name") ).Value ), Last( Filter(colAccount, Column = "Name") ).Value, If(newMode, Blank(), ThisItem.Name) )
Obdobně zadejte následující vzorec do pole vlastnosti Default pro Telefon (Phone_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column ="Phone") ).Value ), Last( Filter(colAccount, Column = "Phone") ).Value, If(newMode, Blank(), ThisItem.Phone) )A následující vzorec použijte pro Město (City_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "City") ).Value ), Last( Filter(colAccount, Column = "City") ).Value, If(newMode,Blank(), ThisItem.City) )Nyní musíme ve dvou scénářích kolekci vymazat:
- Když uživatel odešle formulář a změny se uloží.
- Když uživatel klepnutím na tlačítko Zrušit zruší změny.
Použijte následující vzorec ve vlastnosti OnSelect tlačítka Odeslat.
SubmitForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Vyberte tlačítko Zrušit a zadejte následující vzorec:
ResetForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Po provedení všech výše uvedených změn publikujte aplikaci výběrem tlačítka Publikovat v Teams.
Znovu aplikaci otestujte
Přejděte do týmu a spusťte aplikaci.
Vyberte položku + Nový záznam a přidejte jméno a telefonní číslo pro nový záznam.
Výběrem jiné karty se z aplikace přesuňte jinam.
Vraťte se do aplikace, která zobrazuje podrobnosti o prvním účtu.
Když teď vybereme znovu příkaz + Nový, uvidíme v těchto polích pro zadávání textu již zadané údaje Jméno a Telefon. A můžeme pokračovat v přidávání účtu, který jsme přidávali před opuštěním aplikace.

Jak používáme funkce SaveData a LoadData v aplikaci Inspection
V ukázkové aplikaci Inspection používáme načtení a ukládání data ve formuláři kontroly — pokud je uživatel uprostřed kontroly a přepne se z aplikací v Teams jinam (chtěl by např. někomu poslat zprávu), nechceme, aby během kontroly přišel o aktuální pozici. Když se v Teams vrátí na kartu aplikace, aplikace jim poskytne možnost pokračovat v probíhající kontrole.
Důležité informace
V Dataverse for Teams existují určité limity funkcí SaveData() a LoadData().
- Limit 1 MB v desktopové aplikaci Teams.
- Nefunguje v prohlížeči.
- Aplikace v mobilním zařízení jsou omezeny velikostí místního úložiště, které má aplikace k dispozici.
Viz také
- Ukázková aplikace Panely (preview)
- Ukázková aplikace Bulletiny
- Ukázky aplikace pro nápady zaměstnanců
- Připojení (Preview)
- Ukázkové aplikace Inspekce
- Ukázkové aplikace pro hlášení problémů
- Ukázková aplikace Milníky
- Ukázková aplikace Perspektivy (preview)
- Ukázková aplikace Profile+ (preview)
- Přizpůsobení ukázkových aplikací
- Často kladené dotazy k ukázkovým aplikacím
Poznámka
Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)
Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).
Váš názor
Odeslat a zobrazit názory pro