Omogočite dosledno izkušnjo med sejami s funkcijama LoadData in SaveData

Microsoft Dataverse za Microsoft Teams ponuja vgrajeno nizkokodno podatkovno platformo za Teams. Omogoča povezano shrambo podatkov, obogatene tipe podatkov, upravljanje na ravni podjetja in uvajanje rešitve z enim klikom. Dataverse for Teams vsem omogoča enostavno ustvarjanje in uvajanje aplikacij.

Čeprav obstajajo številne prednosti uporabe Power Apps v Teams, je eden največjih vidikov oblikovanja sposobnost ohranjanja doslednih izkušenj med sejami.

Če med uporabo aplikacije preklopimo med zavihki v aplikaciji Teams, da si ogledamo Wiki ali Načrtovalnik oziroma klepetamo z nekom, se podatki o seji aplikacije izgubijo, zato bi morali sejo začeti od začetka. Na primer, če smo sredi pregleda z aplikacijo Pregled in za trenutek zamenjamo zavihke, bi bili izgubljeni vsi podatki, ki so bili zajeti pri pregledu, in vse te podatke bomo morali ponovno zajeti.

V tem članku se bomo naučili uporabljati funkciji LoadData () in SaveData () za shranjevanje podatkov o seji v aplikaciji, da se izognete izgubi dela zaradi preklapljanja med zavihki v aplikaciji Teams.

Oglejte si ta videoposnetek, če želite izvedeti, kako omogočiti enako izkušnjo v vseh sejah:

Zahteve

Za dokončanje te lekcije bi potrebovali možnost ustvarjanja aplikacij znotraj Teams, ki so na voljo kot del izbire Microsoft 365 naročnine.

Prijava v Teams

Prijavite se v aplikacijo Teams prek Teams Desktop.

Ustvarjanje nove ekipe

Če želite ustvariti novo ekipo:

  1. Izberite zavihek Teams.
  2. Izberite Pridruži se ali ustvarite ekipo v spodnjem levem kotu zaslona.
  3. Izberite Ustvari ekipo od začetka.
  4. Izberite Javno in poimenujte ekipo. V tem primeru bi uporabili »Partnerji MSFT«.
  5. izberite Ustvari.

Ustvarjena je nova ekipa, ki je navedena pod zavihkom Teams.

Ustvarjanje nove ekipe

Ustvarjanje storitve Power App v Teams

Če želite ustvariti aplikacijo Power Apps v Teams, moramo odpreti Power Apps Studio v aplikaciji Teams, kot je prikazano spodaj.

Ustvarjanje storitve Power App v Teams

  1. Izberite Power Apps na seznamu aplikacij in jo pripnite v levo podokno ter ga izberite.

    Pripni Power Apps v aplikaciji Teams

  2. Izberite Začni zdaj, da ustvarite prvo aplikacijo.

  3. Izberite ekipo, za katero naj bi ustvarili to aplikacijo — okolje Power Apps se ustvari za to ekipo (obstaja eno okolje Power Apps na ekipo).

  4. Med ustvarjanjem okolja zaprite pogovorno okno, ki se imenuje Priprava zadev.

  5. Izberite zavihek Graditev na vrhu in čez nekaj sekund bi se morala ustvarjena aplikacija prikazati na seznamu.

  6. Odprite aplikacijo in videli boste, da je privzeto ustvarjena v postavitvi/dimenzijah tabličnega računalnika.

    Postavitev tabličnega računalnika

  7. Vnesite ime aplikacije Primer trajne seje in izberite možnost Shrani.

    Shrani Power App v Teams

    Ustvari se aplikacija z galerijo.

    Ustvari se aplikacija z galerijo

  8. Izberite Ustvari novo tabelo, da ustvarite novo tabelo.

  9. Vnesite Računi in izberite Ustvari.

    Dodaj ime tabele

  10. Dodajte dva stolpca — Telefon s podatkovno vrsto »Telefon« in Mesto s podatkovno vrsto »Besedilo«.

    Dodajanje stolpcev

    Dodajanje stolpcev za telefon in mesto

  11. Dodajte vzorčne podatke v tri stolpce.

  12. Ponovite postopek, da dodate vsaj pet zapisov.

  13. Izberite Zapri.

    Izberite »Zapri«

    Tabela računov se doda kot podatkovna tabela

  14. Izberite Drevesni pogled > Izberite BrowseGallery1 > Izberite Računi kot vir podatkov.

    Izberite Računi kot vir podatkov

Objava aplikacije v Teams

  1. Izberite Objava v aplikaciji Teams.

    Izberite aplikacijo Power App v Teams

  2. Izberite Naprej.

    Izberite gumb Dodaj

  3. Izberite +, da dodate aplikacijo v kanal »Splošno«.

    Dodaj aplikacijo v kanal

    Izberi kanal

  4. Odprite ekipo Primer trajne seje in videli boste, kako se aplikacija Primer trajne seje prikaže na vrhu kot zavihek.

    Pomik v ekipo

Odkrivanje težave

  1. Odprite aplikacijo Primer trajne seje iz ekipe Primer trajne seje.

    Odpri aplikacijo

  2. Izberite Nov zapis, da ustvarite nov račun v aplikacijo.

  3. Vnesite ime in telefonsko številko

  4. Preden vnesete Mesto in shranite zapis, preklopite na drug zavihek (na primer Datoteke ali Wiki na vrhu ali drugo ekipo) in se nato vrnite v aplikacijo.

  5. Videli boste, da podatki, vneseni v dva stolpca, niso več na voljo na zaslonu in so izgubljeni

    Odkrivanje težave

Rešitev: uporaba funkcij SaveData () in LoadData ()

Za rešitev zgornje težave bomo uporabili funkcije LoadData () in SaveData (). Ustvarili bomo zbirko za podatke, vnesene v obrazec, ko bodo vneseni podatki, podatke pa shranili v zbirko, dokler zapis ni zapisan ali shranjen. Če zapis ni bil shranjen in moramo iz nekega razloga zapustiti zaslon, bi imela zbirka v tem primeru shranjene podatke, ki bi se naložili, ko se vrnemo v aplikacijo. Zbirko bomo počistili tudi, ko bo zapis shranjen, tako da bo zbirka pripravljena na zajem novih podatkov, ko se ustvari naslednji novi zapis.

  1. Začnite tako, da zagotovite, da bodo spremembe, ki jih uporabljamo, uporabne le v primeru novega zapisa. Torej spremenljivko newMode posodabljamo tako, da bo uporabljena kot pogoj v obrazcu za urejanje, da ugotovimo, katere podatke je treba prikazati. Izberite Nov zapis in dodajte naslednjo formulo v lastnost gumba OnSelect:

    NewForm(EditForm1);
    UpdateContext({newMode: true})
    

    Formula OnSelect

  2. Nato bomo v zbirko dodali podatke iz posameznih vhodnih kontrolnikov ter jih shranili v lokalno datoteko iz te zbirke. Izberite polje za vnos besedila — v našem primeru je to »DataCardValue1« iz »Name_DataCard1« v »EditForm1« za polje Ime — vnesite naslednjo formulo v lastnost vnosnega polja OnChange:

    Collect(
        colAccount,    
        { Column:"Name",Value:Self.Value}
    );
    SaveData(colAccount,"colAccount").
    

    S to spremembo dodajamo podatke v lokalni predpomnilnik, tako da uporabnik ne izgubi svojih podatkov, če zapusti aplikacijo.

    Ustvarite zbirko

    Podobno vnesite naslednjo kodo v lastnost OnChange za Telefon (DataCardValue2):

    Collect(colAccount, {Column:"Phone",Value:Self.Value});
    SaveData(colAccount,"colAccount");
    

    In vnesite naslednjo kodo v lastnost OnChange za Mesto (DataCardValue3):

    Collect(colAccount {Column:"City", Value:Self.Value});
    SaveData(colAccount, "colAccount");
    
  3. Zdaj bomo posodobili aplikacijo App OnStart, da se v primeru shranjevanja podatkov v zbirki naložijo ob zagonu aplikacije.

    Odprite Aplikacija > lastnost OnStart in dodajte naslednjo formulo:

    LoadData(colAccount,"colAccount", true)
    

    App OnStart

  4. Nato moramo posodobiti lastnost podatkovnih polj Privzeto, tako da se ob ponovnem nalaganju strani ob povratku v aplikacijo podatki iz zbirke privzeto prikažejo (če obstajajo).

    Izberite polje DataCard in posodobite lastnost Privzeto podatkovne kartice na naslednjo formulo za navedena polja.

    Vnesite Name_DataCard1 za polje Ime:

    If(
        newMode && !IsBlank(
            Last(
                Filter(colAccount, Column = "Name")
            ).Value
        ),
        Last(
            Filter(colAccount, Column = "Name")
        ).Value,
        If(newMode, Blank(), ThisItem.Name)
    )
    

    Posodobi privzeto lastnost

    Podobno vnesite naslednjo formulo v formulo lastnosti Privzeto za Telefon (Phone_DataCard1):

    If(
        newMode && !IsBlank(
            Last(
                Filter(colAccount, Column ="Phone")
            ).Value
        ),
        Last(
            Filter(colAccount, Column = "Phone")
        ).Value,
        If(newMode, Blank(), ThisItem.Phone)
    )
    

    In uporabite naslednjo formulo za Mesto (City_DataCard1):

    If(
        newMode && !IsBlank(
            Last(
                Filter(colAccount, Column = "City")
            ).Value
        ),
        Last(
            Filter(colAccount, Column = "City")
        ).Value,
        If(newMode,Blank(), ThisItem.City)
    )
    
  5. Zdaj moramo počistiti zbirko v dveh scenarijih:

    1. Ko uporabnik odda obrazec in se spremembe shranijo.
    2. Ko uporabnik za preklic sprememb izbere gumb za preklic.

    Uporabite naslednjo formulo v lastnosti OnSelect gumba Pošlji.

    SubmitForm(EditForm1);
    UpdateContext({editMode: false, newMode: false});
    Clear(colAccount);
    SaveData(colAccount, "colAccount");
    

    Pošlji OnSelect

    Izberite gumb Prekliči in vnesite naslednjo formulo:

    ResetForm(EditForm1);
    UpdateContext({editMode: false, newMode: false});
    Clear(colAccount);
    SaveData(colAccount, "colAccount");
    

    Prekliči formulo

  6. Objavite aplikacije, potem ko izvedete vse zgornje spremembe, tako da izberete Objavi v Teams.

Ponovno preizkusite aplikacijo

  1. Pojdite v ekipo in zaženite aplikacijo.

  2. Izberite zapis + Novo in dodajte ime in podatke o telefonu za novi zapis.

  3. Izberite drug zavihek, da se premaknete iz aplikacije.

  4. Vrnite se v aplikacijo — prikažejo se podrobnosti o prvem računu.

  5. Ko zdaj izberemo + Novo, se bodo podatki, kot sta Ime in Telefon, samodejno vnesli v polja za vnos besedila. In lahko nadaljujemo z dodajanjem računa, ki smo ga dodali, preden smo morali zapustiti aplikacijo.

    Ponovno preizkusite aplikacijo

Kako uporabljamo SaveData in LoadData v aplikaciji Pregled

V vzorčni aplikaciji Pregled uporabimo podatke za nalaganje in shranjevanje na obrazcu za pregled — če je uporabnik sredi inšpekcije in se odklopi od aplikacij v Teams (kot poslati sporočilo), ne želimo, da izgubijo svoje mesto v pregledu. Ko se vrnejo na zavihek v aplikaciji Teams, jim aplikacija omogoči, da nadaljujejo s pregledom v teku.

Vidiki

V Dataverse for Teams so nekatere omejitve za zmogljivosti SaveData () in LoadData ().

  • Omejitev 1 MB na namizju Teams.
  • Ne deluje v brskalniku.
  • Aplikacije v mobilnih napravah so omejene s količino lokalnega pomnilnika, ki je na voljo aplikaciji.

Glejte tudi

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).