Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft Dataverse per Microsoft Teams include una piattaforma dati incorporata con uso limitato di codice per Teams. Fornisce archiviazione di dati relazionali, tipi di dati avanzati, governance di livello aziendale e distribuzione della soluzione con un clic. Dataverse for Teams consente a qualsiasi utente di creare e distribuire facilmente app.
Sebbene l'uso di Power Apps in Teams comporti numerosi vantaggi, una delle principali considerazioni relative alla progettazione è la capacità di mantenere un'esperienza coerente tra le sessioni.
Durante l'utilizzo di un'app, se passiamo a una scheda di Teams per accedere a Wiki o Planner o per chattare con qualcuno, i dati della sessione dell'app vengono persi e dovremmo iniziare la sessione da zero. Ad esempio, se nel corso di un'ispezione con l'app Ispezioni cambiamo scheda anche per un momento, tutti i dati acquisiti durante l'ispezione andrebbero persi e dovremo riacquisire tutte quelle informazioni.
In questo articolo impareremo a usare le funzioni LoadData() e SaveData() per archiviare i dati della sessione nell'app per evitare qualsiasi perdita di dati a causa del cambio di scheda in Teams.
Guarda questo video per scoprire come abilitare un'esperienza coerente tra le sessioni:
Prerequisiti
Per completare questa lezione, abbiamo bisogno della possibilità di creare app all'interno di Teams che sarà disponibile come parte di selezionati abbonamenti Microsoft 365.
Accedere a Teams
Accedi a Teams utilizzando Teams Desktop.
Creare un nuovo team
Per creare un nuovo team:
- Seleziona la scheda Teams.
- Seleziona Partecipa o crea un team in basso a sinistra nella schermata.
- Seleziona Crea un flusso da zero.
- Seleziona Pubblico e assegna un nome al team. In questo esempio, useremmo "Partner MSFT".
- Seleziona Crea.
Il nuovo team viene creato ed è elencato nella scheda Teams.
Creare un'app Power Apps in Teams
Per creare un'app Power Apps in Teams, dobbiamo aprire Power Apps Studio in Teams come mostrato di seguito.
Seleziona Power Apps dall'elenco delle app e aggiungilo al riquadro di sinistra, quindi selezionalo.
Seleziona Inizia ora per creare la prima app.
Seleziona il team per la quale questa app deve essere creata: un ambiente Power Apps viene creato per quel team (è presente un ambiente Power Apps per team).
Durante la creazione dell'ambiente, chiudi la finestra di dialogo con il messaggio Preparazione in corso....
Seleziona la scheda Crea in alto e in pochi secondi l'app creata dovrebbe apparire nell'elenco.
Apri l'app. Per impostazione predefinita viene creata nel fattore di forma/layout del tablet.
Immetti un nome per l'app, ad esempio Esempio di sessione persistente e seleziona Salva.
L'app viene creata con una raccolta.
Seleziona Crea nuova tabella per creare una nuova tabella.
Immetti Account e seleziona Crea.
Aggiungi due colonne, ovvero Telefono con il tipo di dati Telefono e Città con il tipo di dati Testo.
Aggiungi dati di esempio alle tre colonne.
Ripeti l'operazione per aggiungere almeno cinque record.
Seleziona Chiudi.
La tabella degli account viene aggiunta come tabella di dati
Seleziona Visualizzazione ad albero> seleziona BrowseGallery1> seleziona Account come origine dati.
Pubblicare l'app in Teams
Seleziona Pubblica su Teams.
Seleziona Avanti.
Seleziona + per aggiungere l'app al canale "Generale".
Vai al team Esempio di sessione persistente. Nota che l'app Esempio di sessione persistente viene visualizzata in alto come scheda.
Test del problema
Apri l'app Esempio di sessione persistente dal team Esempio di sessione persistente.
Seleziona Nuovo record per creare un nuovo account nell'app.
Immettere il nome e il numero di telefono
Prima di immettere Città e salvare il record, passa a una scheda diversa (come File o Wiki in alto o un team diverso), quindi torna all'app.
Nota che i dati immessi nelle due colonne non sono più disponibili nella schermata e vengono persi
Soluzione: utilizzare le funzioni SaveData() e LoadData()
Per risolvere il problema sopra, utilizzeremo le funzioni LoadData() e SaveData(). Creeremo una raccolta per i dati immessi in un modulo man mano che i dati vengono inseriti e continueremo a salvare i dati nella raccolta fino a quando il record non sarà stato confermato o salvato. In questo modo, se il record non è stato salvato e per qualche motivo dobbiamo uscire dalla schermata, la raccolta conterrà i dati salvati che verranno caricati una volta tornati nell'app. Cancelleremo anche la raccolta una volta che il record è stato salvato in modo che sia pronta per acquisire nuovi dati quando verrà creato il nuovo record successivo.
Inizia assicurandoti che le modifiche che stiamo applicando siano applicabili solo nel caso di un nuovo record. Stiamo quindi aggiornando la variabile newMode che verrà utilizzata come condizione nel modulo di modifica per determinare quali dati devono essere visualizzati. Seleziona Nuovo record e aggiungi la seguente formula nella proprietà OnSelect del pulsante:
NewForm(EditForm1); UpdateContext({newMode: true})
Successivamente, aggiungeremo i dati dei singoli controlli di input a una raccolta, quindi salveremo i dati in un file locale di quella raccolta. Seleziona la casella di input di testo. Nel nostro esempio è "DataCardValue1" di "Name_DataCard1" in "EditForm1" per il campo Nome. Immetti la seguente formula nella proprietà OnChange del campo di input:
Collect( colAccount, { Column:"Name",Value:Self.Value} ); SaveData(colAccount,"colAccount").
Con questa modifica, stiamo aggiungendo i dati a una cache locale di modo che se l'utente esce dall'app, i dati non andranno persi.
Allo stesso modo, immetti il seguente codice nella proprietà OnChange per Telefono (DataCardValue2):
Collect(colAccount, {Column:"Phone",Value:Self.Value}); SaveData(colAccount,"colAccount");
Immetti il seguente codice nella proprietà OnChange per Città (DataCardValue3):
Collect(colAccount {Column:"City", Value:Self.Value}); SaveData(colAccount, "colAccount");
Ora aggiorneremo App OnStart di modo che se sono presenti dati salvati nella raccolta, verranno caricati all'avvio dell'app.
Seleziona la proprietà App>OnStart e aggiungi la seguente formula:
LoadData(colAccount,"colAccount", true)
Successivamente, dobbiamo aggiornare la proprietà Default dei campi dati di modo che quando la pagina viene caricata una volta tornati all'app, se i dati esistono nella raccolta, dovrebbe mostrare i dati della raccolta per impostazione predefinita.
Seleziona il campo DataCard e aggiorna la proprietà Default della scheda dati alla seguente formula per i campi elencati.
Per il campo Nome, immetti Name_DataCard1:
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "Name") ).Value ), Last( Filter(colAccount, Column = "Name") ).Value, If(newMode, Blank(), ThisItem.Name) )
Allo stesso modo, immetti la seguente formula nella formula della proprietà Default di Telefono (Phone_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column ="Phone") ).Value ), Last( Filter(colAccount, Column = "Phone") ).Value, If(newMode, Blank(), ThisItem.Phone) )
Usa la seguente formula per Città (City_DataCard1):
If( newMode && !IsBlank( Last( Filter(colAccount, Column = "City") ).Value ), Last( Filter(colAccount, Column = "City") ).Value, If(newMode,Blank(), ThisItem.City) )
Ora dobbiamo cancellare la raccolta in due scenari:
- Quando l'utente invia il modulo e le modifiche vengono salvate.
- Quando l'utente seleziona il pulsante Annulla per annullare le modifiche.
Utilizza la seguente formula nella proprietà OnSelect del pulsante Invia.
SubmitForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Seleziona il pulsante Annulla e immetti la seguente formula:
ResetForm(EditForm1); UpdateContext({editMode: false, newMode: false}); Clear(colAccount); SaveData(colAccount, "colAccount");
Pubblica le app dopo aver apportato tutte le modifiche di cui sopra selezionando Pubblica su Teams.
Testare di nuovo l'app
Vai al team ed esegui l'app.
Seleziona il record + Nuovo e aggiungi i dettagli relativi a nome e telefono per il nuovo record.
Seleziona un'altra scheda per uscire dall'app.
Torna all'app; questa mostra i dettagli del primo account.
Ora, quando selezioniamo di nuovo + Nuovo, vedremo i dettagli relativi a nome e telefono già inseriti in quei campi di input di testo. Possiamo quindi riprendere ad aggiungere l'account che stavamo aggiungendo prima di dover uscire dall'app.
Come utilizzare SaveData e LoadData nell'app Ispezione
Nel modello di app di esempio Ispezione, utilizziamo i dati di caricamento e di salvataggio nel modulo di ispezione; se un utente sta eseguendo un'ispezione e esce dalle app in Teams (ad esempio per inviare un messaggio a qualcuno), non vogliamo che perda il suo posto nell'ispezione. Quando ritorna alla scheda dell'app in Teams, l'app gli offre loro la possibilità di riprendere l'ispezione in corso.
Considerazioni
In Dataverse for Teams, sono presenti alcuni limiti per le funzionalità SaveData() e LoadData().
- Limite di 1 MB in Teams Desktop.
- Non funziona in un browser.
- Le app per dispositivi mobili sono limitate dalla quantità di spazio di archiviazione locale disponibile per l'app.