Habilitar l'experiència coherent entre sessions utilitzant les funcions LoadData i SaveData
El Microsoft Dataverse per al Microsoft Teams ofereix una plataforma de dades integrada i de poc codi per al Teams. Proporciona un emmagatzematge relacional de dades, tipus de dades enriquides, governança de nivell empresarial i implementació de solucions d'un clic. El Dataverse for Teams permet a tothom crear i implementar aplicacions fàcilment.
Encara que hi ha nombrosos avantatges d'utilitzar el Power Apps al Teams, una de les consideracions de disseny més grans és la capacitat de mantenir l'experiència coherent en totes les sessions.
Mentre s'utilitza una aplicació, si canviem una pestanya al Teams per veure un wiki o el planificador, o fins i tot xatejar amb algú, les dades de la sessió de l'aplicació es perden i hauríem d'iniciar la sessió des de zero. Per exemple, si estem enmig d'una inspecció utilitzant l'aplicació Inspeccions i canviem de pestanya només un moment, totes les dades que capturades a la inspecció es perdrien i haurem de recuperar tota aquesta informació.
En aquest article, aprendrem a utilitzar les funcions LoadData() i SaveData() per emmagatzemar les dades de la sessió dins de l'aplicació per evitar qualsevol pèrdua de treball a causa del canvi de pestanyes al Teams.
Mireu aquest vídeo per aprendre a permetre una experiència coherent en totes les sessions:
Requisits previs
Per completar aquesta lliçó, necessitaríem la capacitat de crear aplicacions al Teams disponible com a part de les subscripcions al Microsoft 365.
Iniciar la sessió al Teams
Inicieu la sessió al Teams mitjançant el Teams per a l'escriptori.
Crear un equip nou
Per crear un equip nou:
- Seleccioneu la pestanya Equips.
- Seleccioneu Uneix-me o creeu un equip a la part inferior esquerra de la pantalla.
- Seleccioneu Crea un equip des de zero.
- Seleccioneu Públic i doneu un nom a l'equip. En aquest exemple, utilitzarem "Associats de MSFT".
- Seleccioneu Crea.
El nou equip es crea i s'indica a la pestanya Equips.

Crear una aplicació del Power Apps al Teams
Per crear una aplicació del Power Apps al Teams, hem d'obrir el Power Apps Studio al Teams com es mostra a continuació.

Seleccioneu Power Apps a la llista d'aplicacions i ancoreu-lo a la subfinestra esquerra, i seleccioneu-lo.

Seleccioneu Inicia ara per crear la primera aplicació.
Seleccioneu l'equip per al qual es crearà aquesta aplicació; un entorn del Power Apps es crea per a aquest equip (hi ha un entorn del Power Apps per equip).
Mentre s'està creant l'entorn, tanqueu el diàleg que diu S'està preparant tot.
Seleccioneu la pestanya Crea a la part superior, i en uns segons l'aplicació creada hauria d'aparèixer a la llista.
Obriu l'aplicació i veureu que es crearà amb el factor de forma/disseny de tauleta per defecte.

Introduïu un nom per a l'aplicació Exemple de sessió persistent i seleccioneu Desa.

L'aplicació es crea amb una galeria.

Seleccioneu Crea una taula nova per crear una taula nova.
Introduïu Comptes i seleccioneu Crea.

Afegiu dues columnes: Telèfon amb tipus de dades Telèfon i Ciutat amb tipus de dades Text.


Afegiu dades d'exemple a les tres columnes.
Repetiu-ho per afegir almenys cinc registres.
Seleccioneu Tanca.

La taula de comptes s'afegeix com a taula de dades
Seleccioneu Visualització en arbre > seleccioneu BrowseGallery1 > seleccioneu Comptes com a font de dades.

Publicar l'aplicació al Teams
Seleccioneu Publica-ho al Teams.

Seleccioneu Següent.

Seleccioneu + per afegir l'aplicació al canal "General".


Aneu a l'equip Exemple de sessió persistent i veureu que l'aplicació Exemple de sessió persistent es mostra a la part superior com a pestanya.

Prova del problema
Obriu l'aplicació Exemple de sessió persistent de l'equip Exemple de sessió persistent.

Seleccioneu Registre nou per crear un compte nou a l'aplicació.
Introduïu el nom i el número de telèfon
Abans d'introduir Ciutat i desar el registre, canvieu a una pestanya diferent (com ara Fitxers o Wiki a la part superior o un equip diferent) i torneu a l'aplicació.
Veureu en compte que les dades introduïdes en les dues columnes ja no estan disponibles a la pantalla i es perden

Solució: utilitzar les funcions SaveData() i LoadData()
Per resoldre el problema anterior, utilitzarem les funcions LoadData() i SaveData(). Crearem una col·lecció per a les dades introduïdes en un formulari i quan s'introdueixin les dades, i seguirem desant les dades a la col·lecció fins que el registre s'hagi publicat o desat. D'aquesta manera, si el registre no s'ha desat i hem de sortir de la pestanya de la pantalla per algun motiu, la col·lecció tindrà les dades desades que es carregaran una vegada hàgim tornat a l'aplicació. També esborrarem la col·lecció una vegada que el registre s'hagi desat, de manera que la col·lecció estigui preparada per capturar dades noves quan es creï el següent registre nou.
Comenceu assegurant-vos que els canvis que estem aplicant només siguin aplicables en el cas d'un registre nou. Per tant, actualitzem la variable newMode que s'utilitzarà com a condició en el formulari d'edició per determinar quines dades cal mostrar. Seleccioneu Registre nou i afegiu la fórmula següent a la propietat OnSelect del botó:
NewForm(EditForm1); UpdateContext({newMode: true})
A continuació, afegirem les dades dels controls d'entrada individuals a una col·lecció, i després desarem les dades a un fitxer local d'aquesta col·lecció. Seleccioneu el quadre d'entrada de text (en el nostre exemple és "DataCardValue1" de "NameNameDataCard1" a "EditForm1" per al camp Nom), introduïu la fórmula següent a la propietat OnChange del camp d'entrada:
Collect( colAccount, { Column:"Name",Value:Self.Value} ); SaveData(colAccount,"colAccount").Amb aquest canvi, afegirem les dades a una memòria cau local de manera que si l'usuari abandona l'aplicació, les seves dades no es perdran.

De manera similar, introduïu el següent codi a la propietat OnChange per a Telèfon (DataCardValue2):
Collect(colAccount, {Column:"Phone",Value:Self.Value}); SaveData(colAccount,"colAccount");I introduïu el següent codi a la propietat OnChange per a Ciutat (DataCardValue3):
Collect(colAccount {Column:"City", Value:Self.Value}); SaveData(colAccount, "colAccount");Ara actualitzarem la propietat OnStart de l'aplicació de manera que si hi ha dades desades a la col·lecció, es carreguin en iniciar l'aplicació.
Aneu a la propietat Aplicació > OnStart i afegiu la fórmula següent:
LoadData(colAccount,"colAccount", true)
A continuació, hem d'actualitzar la propietat Default dels camps de dades de manera que quan la pàgina es carregui quan tornem a l'aplicació, si les dades existeixen a la col·lecció, per defecte ha de mostrar les dades de la col·lecció.
Seleccioneu el camp DataCard i actualitzeu la propietat Default de la targeta de dades a la fórmula següent per als camps indicats.
Per al camp Nom, introduïu Nom_DataCard1:
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "Name") ).Value ), Last( Filter(colAccount, Column = "Name") ).Value, If(newMode, Blank(), ThisItem.Name) )
De la mateixa manera, introduïu la fórmula següent en la fórmula de la propietat Default per a Telèfon (Telèfon_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column ="Phone") ).Value ), Last( Filter(colAccount, Column = "Phone") ).Value, If(newMode, Blank(), ThisItem.Phone) )I utilitzeu la fórmula següent per a Ciutat (Ciutat_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "City") ).Value ), Last( Filter(colAccount, Column = "City") ).Value, If(newMode,Blank(), ThisItem.City) )Ara, hem d'esborrar la col·lecció en dos escenaris:
- Quan l'usuari envia el formulari i els canvis es desen.
- Quan l'usuari selecciona el botó Cancel·la per cancel·lar els canvis.
Utilitzeu la fórmula següent a la propietat OnSelect del botó Envia.
SubmitForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Seleccioneu el botó Cancel·la i introduïu la fórmula següent:
ResetForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Publiqueu les aplicacions després de fer tots els canvis anteriors seleccionant Publica al Teams.
Tornar a provar l'aplicació
Aneu a l'equip i executeu l'aplicació.
Seleccioneu + Registre nou i afegiu el nom i els detalls del telèfon per al registre nou.
Seleccioneu una altra pestanya per sortir de l'aplicació.
Torneu a l'aplicació; mostra els detalls del primer compte.
Ara, quan seleccionem + Nou de nou, ja veurem els detalls de Nom i Telèfon emplenats en aquests camps d'entrada de text. I podem reprendre l'addició del compte que estàvem afegint abans que haguéssim de sortir de l'aplicació.

Com utilitzar SaveData i LoadData a l'aplicació Inspecció
A l'aplicació d'exemple Inspecció, utilitzem la càrrega i el desament de dades en el formulari d'inspecció; si un usuari està en una inspecció i surt de les aplicacions al Teams (com per enviar un missatge a algú), no volem que perdi el seu lloc a la inspecció. Quan torna a la pestanya de l'aplicació al Teams, l'aplicació li dona l'opció de reprendre la inspecció en curs.
Consideracions
Al Dataverse for Teams, hi ha alguns límits a les funcions SaveData() i LoadData().
- Límit d'1 MB al Teams per a l'escriptori.
- No funciona en un navegador.
- Les aplicacions en mòbils estan limitades per la quantitat d'emmagatzematge local disponible per a l'aplicació.
Consulteu també
- Aplicació d'exemple Taulers (versió preliminar)
- Aplicació d'exemple Butlletins
- Aplicacions d'exemple d'opinions d'empleats
- Connecteu-vos (versió preliminar)
- Aplicacions d'exemple d'inspecció
- Aplicacions d'exemple d'informe d'incidències
- Milestones sample app
- Aplicació d'exemple Perspectives (versió preliminar)
- Aplicació d'exemple Perfil+ (versió preliminar)
- Personalitzar aplicacions d’exemple
- Preguntes freqüents sobre les aplicacions d’exemple