Construeix una cua local per registrar feina de camp amb SharePoint

Hi ha una escena molt habitual en manteniment, logística o visites comercials: arribes a un soterrani, a una nau amb cobertura intermitent o a una finca allunyada, obres l’app i la feina queda aturada perquè el formulari depèn de SharePoint. Tornes a tenir xarxa una hora més tard, intentes reconstruir la visita de memòria i apareixen errors petits. Un número de sèrie mal copiat, una incidència sense foto, una hora aproximada.
Per a aquests casos, una app de Power Apps amb una cua local d’operacions resulta més útil que un formulari que simplement avisa que està desconnectat. La idea és senzilla: l’usuari registra la feina sempre contra una col·lecció local; quan recupera connexió, l’app envia la cua a una Microsoft List de SharePoint i conserva rastre de què ha sincronitzat.
És una solució adequada si ja treballeu amb Microsoft 365, SharePoint i connectors estàndard. El connector de SharePoint és estàndard, tot i que convé validar les llicències i les polítiques del vostre tenant abans de publicar cap app. (learn.microsoft.com)
Imaginem una empresa que revisa equips instal·lats als clients. Cada tècnic ha de registrar l’equip, la lectura observada, una acció feta i la data. La llista Visites tècniques inclou un camp IDOperacio, de text i obligatori, a més dels camps funcionals. Aquest identificador serà la clau per evitar duplicats quan la sincronització es repeteixi després d’un tall de xarxa.
Abans de començar, cal tenir una app de llenç compartida amb els tècnics, permisos d’edició sobre la llista i una política DLP que permeti el connector de SharePoint. També cal assumir una decisió de disseny: aquesta pauta guarda dades al dispositiu. Reserveu-la per a informació operativa i eviteu dades especialment sensibles en dispositius compartits.
Els passos importants són aquests:
-
Creeu una col·lecció de cua, per exemple
colCua, amb l’operació, les dades del registre, la data local, el nombre d’intents i unIDOperaciogenerat una sola vegada ambGUID(). Quan l’usuari prem Desa, afegiu l’element a la col·lecció i executeuSaveData(colCua; "cua-visites"). -
Carregueu la cua en iniciar l’app. A
App.OnStart, buideu primer la col·lecció i carregueu-la ambLoadData. Sense aquest ordre, les dades carregades s’afegeixen a les que ja hi havia en memòria i la cua pot duplicar elements. -
Sincronitzeu amb criteri d’idempotència. Quan
Connection.Connectedsigui cert, reviseu cada operació pendent. Abans de ferPatcha SharePoint, cerqueu si ja existeix un element amb el mateixIDOperacio. Si existeix, marqueu l’operació local com a completada; si no existeix, creeu el registre. Després, deseu de nou la cua local. Així, un tall just després d’enviar la petició no crea dues visites. -
Feu visible l’estat. Un comptador de pendents i una data de darrera sincronització valen més que un missatge genèric. El tècnic ha de saber si pot tancar la visita o si encara conserva feina al dispositiu.
SaveData i LoadData permeten aquesta persistència local, però depenen de la memòria disponible del dispositiu. Microsoft recomana provar l’app amb els equips reals; habitualment hi ha desenes de megabytes disponibles, no un magatzem il·limitat. Tampoc resolen conflictes automàticament. (learn.microsoft.com)
Aquí apareix el matís avançat: per a modificacions d’un registre existent, guardeu també el valor de Modified que l’usuari va llegir. Abans d’actualitzar, compareu-lo amb el valor actual de SharePoint. Si ha canviat, presenteu el conflicte i demaneu una decisió explícita. La cua és excel·lent per crear registres; editar el mateix registre des de dos dispositius exigeix una regla de negoci.
Aquesta pauta funciona al reproductor mòbil de Power Apps, no com a experiència offline fiable dins del navegador. Les imatges i adjunts mereixen una pantalla pròpia: acumulen memòria amb rapidesa i requereixen proves amb dades reals. (learn.microsoft.com)
Repte d’avui: afegiu a una app existent una col·lecció amb un sol registre pendent i un indicador visible de “pendent de sincronitzar”. Proveu-la en mode avió, tanqueu l’app, torneu-la a obrir i confirmeu que el registre encara hi és. És el primer pas perquè la feina de camp deixi de dependre de les barres de cobertura.