Come sviluppare una app di logistica verticale con Power Apps e SQL – Parte 2 | ZeroUno

Come sviluppare una app di logistica verticale con Power Apps e SQL – Parte 2

pittogramma Zerouno

Technology HowTo

Come sviluppare una app di logistica verticale con Power Apps e SQL – Parte 2

Continua la guida per realizzare una App dedicata alla logistica con Power Apps. Nella prima parte abbiamo visto come realizzare lo schema dei dati e collegarlo con il connettore Premium alla nostra App. In questa parte vediamo come sviluppare l’interfaccia e come renderla fruibile sullo smartphone.

20 Apr 2021

di Pablo Cerini

Nella precedente puntata della guida avevamo visto come creare lo schema dei dati, ossia le tabelle e le relazioni per gestire il flusso di informazioni che alimenterà l’App, e come connettere l’ambiente Power Apps al database tramite il connettore SQL e il Local gateway.
Una volta compiuto questo passaggio, siamo pronti per disegnare le schermate della nostra App, derivando direttamente sui controlli i legami con i dati (binding) necessari per le operazioni di consultazione e salvataggio. I vari controlli messi a disposizione dall’ambiente di Power Apps, infatti, consentono, tramite un pratico pannello delle proprietà di accedere a un collegamento con il connettore SQL collegato all’App, in modo da poter derivare in modo intuitivo il campo (o i campi) di una tabella da cui verranno visualizzate le informazioni e in cui un’eventuale routine di salvataggio memorizzerà le modifiche dell’utente. La gestione del collegamento tra dati e controlli in Power Apps ricorda da vicino le modalità di binding di ambienti di sviluppo rivolti all’utenza professionale come Visual Basic .NET, ma con una modalità di utilizzo più semplice, che offre una maggiore intuitività senza sacrificare nessuna delle potenzialità degli IDE professionali.
Una piccola attenzione che bisogna prestare all’utilizzo dei dati in Power Apps è relativa all’eventualità che, dopo aver collegato una base dati all’App, si eseguano delle modifiche di basso livello alle tabelle sottostanti. Se, per esempio, modifichiamo lo schema dei campi di una tabella già collegata all’App, l’ambiente Power Apps non rifletterà automaticamente le modifiche effettuate sul server SQL, ma sarà necessario “informare” l’ambiente Power Apps delle modifiche effettuate tramite l’apposita funzione di refresh resa disponibile dal connettore.
Una volta disegnate le nostre schermate (tipicamente: per l’inserimento e la modifica delle giacenze, e una schermata di riepilogo, magari con il dettaglio per lotti, ove implementati), potremo creare un flusso logico tra le diverse schermate, andando a popolare la logica dell’App con i numerosi eventi disponibili.
Per esempio, potremmo definire un pulsante che, se cliccato, permette di salvare l’inserimento di una giacenza e passare alla schermata di riepilogo delle disponibilità su un determinato magazzino. Oppure, potremmo implementare uno dei template più usati di Power Apps, ossia la schermata Master-Detail, ossia una schermata riepilogativa contenenti diversi elementi (item). Ognuno degli item potrebbe essere un articolo, mostrato nella schermata principale (Master) con codice e foto, come in una sorta di catalogo. Una volta che si clicca sull’articolo nella schermata Master, si apre una seconda schermata di dettaglio (Detail) in cui per l’articolo selezionato vengono mostrate informazioni specifiche, come la giacenza, il magazzino di appartenenza, il dettaglio dei lotti.

Il lettore di barcode

Ora che abbiamo visto come organizzare le schermate della nostra App, e come gestire il legame con i dati sui controlli dell’interfaccia, sarebbe interessante dotare l’applicazione di una funzionalità professionale, come un vero software di logistica avanzato, ossia implementare la lettura dei codici a barre, rendendo l’operatore in grado di scannerizzare un barcode direttamente dal proprio telefonino.
Ebbene, grazie alla potenza dell’ambiente Power Apps, è possibile realizzare in pochi minuti una funzione che, su ambienti di sviluppo professionali, richiederebbe giorni di lavoro. Power Apps offre, infatti, un controllo di lettura dei codici a barre nativo, istanziabile dalla barra dei controlli offerta dall’ambiente di creazione online. Una volta trascinato il controllo di letture dei codici a barre sul canvas della nostra App, sarò possibile, impostando poche proprietà, indicare il tipo di codici a barre di cui si intende effettuare la lettura, e rendere il controllo già funzionale con la fotocamera dello smartphone. Al momento di scrittura di questo articolo, Power Apps supporta il riconoscimento di decine tra i codici a barre più diffusi, tra cui l’EAN13, il Data Matrix, e molti altri. Non ultimo, Power Apps è in grado di decifrare anche i diffusissimi QR Code.

EVENTO
[Evento, 10.06] Sai automatizzare le azioni di sales&marketing? Partecipa DemandGeneretaionLAB

Pubblicazione su smartphone

Una volta definite l’interfaccia e implementata la lettura dei barcode, possiamo testare l’applicazione e, se tutto risulta funzionale, passare allo step della pubblicazione, in modo da renderla disponibile ai nostri utenti.
Mentre negli ambienti di sviluppo professionali la pubblicazione dall’applicazione è un processo delicato, che richiede un processo di compilazione spesso prono ad errori a causa di sbagli nella stesura del codice o di mancati collegamenti a dipendenze e librerie esterne, il processo di publishing dell’App nell’ambiente Power Platform è stato reso intuitivo e semplice. Basta una facile procedura di alcuni click e l’App è pronta per essere impiegata all’interno del proprio tenant Microsoft365. Per l’utente finale, sarà sufficiente installare dal Play Store del proprio cellulare l’App Power Apps, e immediatamente avrà a disposizione sul proprio smartphone tutte le App pubblicate sul tenant a cui è loggato, tra cui anche la nostra app appena pubblicata.
Uno dei maggiori vantaggi di Power Apps riguarda proprio la distribuzione dell’applicazione, che è resa immediatamente fruibile a tutti gli utenti del tenant, senza dover ricorrere alla complesse procedure di compilazione richieste dagli ambienti di sviluppo rivolti all’utenza professionale.

Pablo Cerini

Giornalista

Sviluppatore software, cresciuto nel mondo ERP, ma appassionato del mondo DEV a 360°. Affascinato dalla statistica e dal machine learning, con un chiodo fisso per le candele giapponesi

Argomenti trattati

Approfondimenti

Technology HowTo

Articolo 1 di 5