Technology HowTo

Come sviluppare una app di logistica verticale con Power Apps e SQL – Episodio 1

Le soluzioni low code, come Power Apps di Microsoft, permettono di realizzare app per la produttività interna di ogni tipo, in diversi ambiti dei processi aziendali. In questa guida vediamo come sviluppare una App dedicata alla logistica.

Pubblicato il 13 Apr 2021

Power Apps e SQL

Lo scenario è quello di una PMI in rapida evoluzione che, oltre ai flussi di ciclo attivo e passivo, abbia bisogno anche di tenere sotto controllo i propri movimenti di magazzino. L’azienda non è ancora dotata di un software ERP e gestisce bolle e fatturazione con un gestionale entry level, non dotato di moduli specifici per l’ambito logistico. L’azienda vorrebbe tenere traccia delle giacenze, distribuite su più depositi, e per alcuni articoli gestire il dettaglio dei lotti. Al momento, però, l’azienda è restia a investire il budget consistente necessario a portarsi in casa un gestionale dotato di moduli dedicati alla logistica e alla gestione dei terminalini. Uno dei dipendenti più giovani dell’azienda propone al titolare un’idea innovativa: realizzare una App in Power Apps che funzioni sugli smartphone aziendali già in dotazione e che si interfacci con le tabelle del software di fatturazione. L’App utilizzerà un connettore Premium per parlare con il database SQL del software di fatturazione e non ci sarà bisogno di realizzare complessi web service grazie al Local Gateway incluso nella sottoscrizione.

Creazione della base dati

Visto che le valutazioni per l’acquisto di un ERP monolitico sono ancora in alto mare, il giovane dipendente, complice il ridotto budget richiesto, riceve carta bianca. Per prima cosa, si dedica all’analisi della base dati, in modo da creare una struttura che offra la possibilità di gestire tutte le informazioni necessarie alla gestione della logistica, ma che non appesantisca l’architettura con un dispendio di risorse non necessario. Viene perciò valutata la possibilità di utilizzare le anagrafiche (articoli, clienti, fornitori, ecc.) già esistenti nel software di fatturazione, arricchendole delle tabelle necessarie per la gestione della logistica. Uno schema soddisfacente per le tabelle da aggiungere all’attuale base dati viene così individuato:

  • Anagrafica dei lotti (legata all’anagrafica degli articoli già esistente per mezzo del campo Codice Articolo come chiave primaria);
  • Anagrafica dei magazzini;
  • Tabella progressivi giacenze per articoli e lotti, con dettaglio del magazzino;
  • Tabella dei movimenti di magazzino.

La tabella dei movimenti di magazzino viene organizzata in modo da gestire solo le operazioni base di una gestione logistica, cioè i carichi e gli scarichi di magazzino. La tabella rimane comunque predisposta per essere ampliata in futuro con la gestione di operazioni di magazzino più specifiche, come ad esempio le rettifiche inventariali.
Sulla tabella dei movimenti di magazzino viene previsto un campo per gestire il dettaglio dei lotti, ma lasciando all’utente la possibilità di non specificarlo, nel caso che ci siano degli articoli gestiti senza questo livello di dettaglio.

Configurazione dei connettori

L’App di logistica non scriverà dati sulle tabelle del software di fatturazione, ma avrà bisogno di poter leggere alcuni dati dalle tabelle già esistenti. Infatti, l’App di logistica non si caricherà di una propria gestione di anagrafiche, ma utilizzerà quelle già esistenti nel gestionale della fatturazione. Inoltre, l’App leggerà i Documenti di Trasporto (DDT) salvati nel piccolo gestionale, per legarli alle movimentazioni di magazzino.
Per leggere i dati dalle tabelle già esistenti del software di fatturazione, sarà necessario configurare sul server dove risiede il programma un Local Gateway SQL. Il Local Gateway è un componente della Power Platform che può essere utilizzato con la sottoscrizione Premium, e permette di utilizzare nell’ambiente di sviluppo Power Apps un connettore SQL in grado di recuperare dati da un database on premise e renderli disponibili in App per operazioni CRUD (Create, Read, Update, Delete).
Per configurare il connettore con il Local Gateway, Power Apps mette a disposizione un apposito menu in cui si possono salvare i parametri di configurazione (come il nome del database e la password di accesso) e da cui si può testare che il collegamento con la base dati sia online.
Il Local Gateway è un componente condiviso tra più applicazioni della Power Platform, tra cui anche Power BI. L’App potrebbe essere arricchita in futuro, grazie alla predisposizione offerta da questa configurazione, anche di un’esaustiva sezione di reportistica.

Studio dell’interfaccia

Per l’interfaccia, Power Apps offre la possibilità di utilizzare un template sia per tablet, sia per smartphone. Nonostante il tablet possa offrire una maggiore superficie visiva, viene scelta l’interfaccia per smartphone per la praticità del device. Power Apps permette comunque di utilizzare indifferentemente gli stessi controlli e le stesse funzionalità su entrambe i device.
Per la realizzazione dell’interfaccia, Power Apps offre una completa selezione di controlli, identici per ricchezza e funzionalità alle palette offerte dagli ambienti di sviluppo destinati all’utenza professionale, come Xamarin o Visual Basic. Tra i controlli che si possono impiegare nell’App, troviamo liste di selezione, caselle di testo, etichette, immagini, elenchi dinamici, pulsanti e caselle di selezione, più altri controlli avanzati come la possibilità di inserire un report Power BI visualizzabile direttamente nell’App.
Le finestre dell’interfaccia di Power Apps non sono moduli di programmi separati tra loro, ma entità intercomunicanti che condividono le stesse variabili, in maniera simile ai fogli Excel. Un dato presente su una schermata, oppure una proprietà di un controllo, può essere richiamato da un’altra schermata della stessa App semplicemente navigando la gerarchia dei controlli dell’App stessa. Quindi, per leggere il testo di una casella di una schermata, sarà sufficiente farvi riferimento con una sintassi intuitiva del tipo “Schermata.CasellaDiTesto.Testo”: una notevole comodità che permette di realizzare potenti interazioni logiche con pochissimo codice.

Nella prossima puntata di questa guida vedremo come realizzare le schermate necessarie al funzionamento dell’App, come implementarne la logica, e come pubblicarla per renderla fruibile su uno smartphone.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3