Omogućavanje dosljednog doživljaja tijekom sesija pomoću funkcija LoadData i SaveData
Microsoft Dataverse za Microsoft Teams isporučuje ugrađenu podatkovnu platformu s malo koda za Teams. Pruža relacijsku pohranu podataka, bogate vrste podataka, upravljanje na razini poduzeća i implementaciju rješenja jednim klikom. Dataverse for Teams omogućuje svima jednostavnu izgradnju i uvođenje aplikacije.
Iako postoje brojne prednosti korištenja Power Apps u Teams, jedno od najvećih razmatranja dizajna jest mogućnost održavanja dosljednog iskustva tijekom sesija.
Tijekom upotrebe aplikacije, ako prebacimo karticu u Teams da bismo pogledali Wiki ili Planer ili čak čavrljali s nekim, podaci o sesiji aplikacije se gube i morali bismo započeti sesiju od početka. Na primjer, ako smo usred inspekcije pomoću aplikacije Inspections, pa čak i na trenutak promijenimo kartice, svi podaci koji su snimljeni pregledom bili bi izgubljeni i sve bismo te podatke morati ponovno prikupiti.
U ovom ćemo članku naučiti kako koristiti Funkcije LoadData() i SaveData() za pohranu podataka o sesiji unutar aplikacije kako biste izbjegli gubitak posla zbog prebacivanja kartica u Teams.
Pogledajte ovaj videozapis da biste saznali kako omogućiti dosljedno iskustvo u svim sesijama:
Preduvjeti
Da bismo dovršili ovu lekciju, potrebna nam je mogućnost stvaranja aplikacija unutar Teams koja je dostupna kao dio odabranih pretplata na Microsoft 365.
Prijavite se u Teams
Prijavite se u Teams pomoću radne površine za Teams.
Stvorite novi tim
Da biste stvorili novi tim:
- Odaberite karticu Teams.
- Odaberite Pridruži ili stvorite tim u donjem lijevom kutu zaslona.
- Odaberite Stvori tim od nule.
- Odaberite Javno i dajte timu naziv. U ovom bismo primjeru koristili „MSFT partneri”.
- Kliknite Stvori.
Stvara se novi tim i nalazi se na popisu na kartici Teams.

Stvorite Power App u Teams
Da bismo stvorili aplikaciju Power Apps u Teams, moramo otvoriti Power Apps Studio u Teams kao što je prikazano u nastavku.

Odaberite Power Apps s popisa aplikacija i prikačite ga u lijevo okno, a zatim ga odaberite.

Odaberite Započni sada za stvaranje prve aplikacije.
Odaberite tim za koji će se ova aplikacija stvoriti—okruženje Power Apps stvoreno je za taj tim (postoji jedno okruženje Power Apps po timu).
Dok se stvara okruženje, zatvorite dijaloški okvir koji kaže Pripremanje.
Odaberite karticu Izgradnja na vrhu i za nekoliko bi se sekundi stvorena aplikacija trebala pojaviti na popisu.
Otvorite aplikaciju i primijetite da se prema zadanim postavkama stvara u rasporedu za tablet/format hardvera.

Unesite naziv aplikacije, aplikacija Primjer neprekidne sesije, a odaberite Spremi.

Aplikacija se stvara s galerijom.

Odaberite Stvori novu tablicu da biste stvorili novu tablicu.
Unesite Računi i odaberite Stvori.

Dodajte dva stupca—Telefon s vrstom podataka Telefon i Grad s vrstom podataka Tekst.


Dodajte uzorke podataka u tri stupca.
Ponovite za dodavanje najmanje pet zapisa.
Odaberite Zatvori.

Tablica računa dodaje se kao tablica podataka
Odaberite Prikaz stabla > Odaberite BrowseGallery1 > Odaberite Računi kao izvor podataka.

Objavite aplikaciju u Teams
Odaberite Objavi u aplikaciji Teams.

Odaberite Dalje.

Odaberite + za dodavanje aplikacije u kanal „Općenito”.


Idite na tim Primjer neprekidne sesije i primijetite da se aplikacija Primjer neprekidne sesije prikazuje na vrhu kao kartica.

Testiranje problema
Otvorite aplikaciju Primjer neprekidne sesije iz tima Primjer neprekidne sesije.

Odaberite Novi zapis da biste stvorili novi račun u aplikaciji.
Unesite ime i telefonski broj
Prije nego što unesete Grad i spremite zapis, prebacite se na drugu karticu (poput Datoteke ili Wiki na vrhu ili u drugi tim), a zatim se vratite u aplikaciju.
Primijetite da podaci uneseni u dva stupca više nisu dostupni na zaslonu i da su izgubljeni

Rješenje: Koristite funkcije SaveData() i LoadData()
Za rješavanje gornjeg problema koristite ćemo Funkcije LoadData() i SaveData(). Stvorit ćemo zbirku za podatke unesene u obrazac kao i kada se podaci unesu i nastavit ćemo spremati podatke u zbirku sve dok se zapis ne pošalje ili spremi. Na ovaj će način, ako zapis nije spremljen i iz nekog razloga moramo otići s kartice, zbirka imala spremljene podatke koji bi se učitali kada se vratimo u aplikaciju. Također ćemo izbrisati zbirku nakon što je zapis spremljen kako bi zbirka bila spremna za snimanje novih podataka prilikom stvaranja sljedećeg novog zapisa.
Započnite tako da provjerite jesu li promjene koje primjenjujemo primjenjive samo u slučaju novog zapisa. Dakle, ažuriramo varijablu newMode koja će se koristiti kao uvjet na obrascu za uređivanje kako bi se utvrdilo koji se podaci trebaju prikazati. Odaberite Novi zapis i dodajte sljedeću formulu u svojstvo gumba OnSelect:
NewForm(EditForm1); UpdateContext({newMode: true})
Nadalje ćemo dodati podatke iz pojedinih kontrola unosa u zbirku, a zatim ćemo spremiti podatke u lokalnu datoteku iz te zbirke. Odaberite okvir za unos teksta—u našem primjeru to je „DataCardValue1” iz „Name_DataCard1” na „EditForm1” za polje Naziv —unesite sljedeću formulu u svojstvo polja za unos OnChange:
Collect( colAccount, { Column:"Name",Value:Self.Value} ); SaveData(colAccount,"colAccount").Ovom promjenom dodajemo podatke u lokalnu predmemoriju kako se podaci ne bi izgubili ako korisnik napusti aplikaciju.

Slično tome, unesite sljedeći kod u svojstvo OnChange za Telefon (DataCardValue2):
Collect(colAccount, {Column:"Phone",Value:Self.Value}); SaveData(colAccount,"colAccount");I unesite sljedeći kod u svojstvo OnChange za Grad (DataCardValue3):
Collect(colAccount {Column:"City", Value:Self.Value}); SaveData(colAccount, "colAccount");Sada ćemo ažurirati aplikaciju OnStart tako da se, ako ima podataka spremljenih u zbirci, učitavaju na početku aplikacije.
Idite na Aplikacija svojstvo > OnStart i dodajte sljedeću formulu:
LoadData(colAccount,"colAccount", true)
Zatim moramo ažurirati svojstvo polja podataka Zadano, tako da kada se stranica učita nakon što se vratimo u aplikaciju, ako postoje podaci u zbirci, prema zadanim bi postavkama trebala prikazati podatke iz zbirke.
Odaberite polje DataCard i ažurirajte svojstva kartice podataka Zadano prema sljedećoj formuli za navedena polja.
Za polje Ime unesite Name_DataCard1:
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "Name") ).Value ), Last( Filter(colAccount, Column = "Name") ).Value, If(newMode, Blank(), ThisItem.Name) )
Slično tome, unesite sljedeću formulu u formulu svojstva Zadano za Telefon (Phone_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column ="Phone") ).Value ), Last( Filter(colAccount, Column = "Phone") ).Value, If(newMode, Blank(), ThisItem.Phone) )I koristite sljedeću formulu za Grad (City_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "City") ).Value ), Last( Filter(colAccount, Column = "City") ).Value, If(newMode,Blank(), ThisItem.City) )Sada moramo očistiti zbirku u dva scenarija:
- Kada korisnik pošalje obrazac, a promjene se spremaju.
- Kada korisnik odabere gumb za otkazivanje da bi poništio promjene.
Koristite sljedeću formulu u svojstvu OnSelect gumba Pošalji.
SubmitForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Odaberite gumb Otkaži i unesite sljedeću formulu:
ResetForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Objavite aplikacije nakon što izvršite sve gore navedene promjene odabirom Objavi u aplikaciji Teams.
Ponovno testirajte aplikaciju
Idite u tim i pokrenite aplikaciju.
Odaberite zapis + Novo i dodajte ime i pojedinosti o telefonu za novi zapis.
Odaberite drugu karticu za izlazak iz aplikacije.
Vratite se na aplikaciju—prikazuje pojedinosti o prvom računu.
Sada kad ponovno odaberemo + Novo vidjet ćemo pojedinosti o imenu i telefonu već popunjene u tim poljima za unos teksta. I možemo nastaviti dodavati račun koji smo dodavali prije nego što smo morali izaći iz kartice aplikacije.

Kako koristimo SaveData i LoadData u aplikaciji Inspection
U uzorku aplikacije Inspection koristimo load data i save data u obrascu za pregled—ako je korisnik usred pregleda i prebaci se s aplikacija u Teams (želi nekome poslati poruku), ne želimo da izgubi svoje mjesto gdje je stao pregledu. Kada se vrate na karticu aplikacije u Teams, aplikacija im daje mogućnost da nastave pregled u tijeku.
Napomene
U Dataverse for Teams postoje neka ograničenja za mogućnosti SaveData() i LoadData().
- Ograničenje od 1 MB na radnoj površini za Teams.
- Ne radi u pregledniku.
- Aplikacije na mobilnom uređaju ograničene su količinom lokalne pohrane koja je dostupna aplikaciji.
Pogledajte također
- Ogledna aplikacija Ploče (pretpregled)
- Ogledna aplikacija Bilteni
- Ogledne aplikacije za ideje
- Povezivanje (pretpregled)
- Ogledne aplikacije za pregled
- Uzorci aplikacija za prijavu problema
- Ogledna aplikacija Kontrolne točke
- Ogledna aplikacija Perspektive (pretpregled)
- Ogledna aplikacija Profil+ (pretpregled)
- Prilagodba oglednih aplikacija
- Najčešća pitanja o oglednim aplikacijama