Indice articolo

I codici QrCode e Barcode sono una tecnologia ormai datata, ma ancora utilizzatissima in molte aziende. Cerchiamo di approfondire questo argomento e soprattutto come possiamo utilizzarli in Sme.UP ERP

Per leggere Barcode e Qrcode con Sme.UP ERP si usa la app SmeUP Mobile, scaricabile qui (Android) oppure qui (iOS).

Ci penserà la app a distringuere tra i due formati, quindi dal punto di vista dello sviluppatore è totalmente indifferente.

Come li leggiamo in Sme.UP ERP

Prima di iniziare devo fare una piccola nota tecnica sui requisiti minimi

Il primo requisito riguarda l’obbligo di utilizzo della nostra app di Sme.UP per l’utilizzo dei componenti di lettura barcode/qrcode, non basta infatti utilizzare il browser del dispositivo per accedere a Sme.UP. Per scaricarla basterà utilizzare il Google Play Store se si utilizza un dispositivi Android o l’app store se si utilizzano dispositivi Apple.

Il secondo riguarda il SO del dispositivo utilizzato, se si utilizza un dispositivo mobile con SO Android per eseguire la scansione del barcode è necessario installare un’applicazione di terze parti che si occupi della decodifica (Consiglio Barcode Scanner, applicazione android gratuita), l’app di Sme.UP utilizzerà questa app per decodificare il codice scansionato. Se, invece, si utilizza un dispositivo con SO iOS questa operazione di download di app di terze parti non sarà necessaria, in quanto la fotocamera di dispositivi apple incorpora già la funzionalità di decodifica di barcode.

Ora possiamo davvero iniziare

In Sme.UP abbiamo dei componenti per svolgere questa funzione di lettura di codici a barre, e siccome moltissimi nostri clienti ne fanno ancora un largo utilizzo, vediamone insieme alcuni

Sezione Field

Il primo esempio che vediamo è utilizzando una sezione Field (FLD), e si tratta del Componente grafico Barcode (Bcd).

E’ consigliabile l’utilizzo di questa sezione quando si vuole richiedere solo un barcode/qrcode e poi eseguire subito un’azione, senza controlli di congruenza particolari.

Vediamo subito un esempio pratico:

In questa immagine vediamo 3 esempi di “GraphComp” Barcode, che grazie al bottone affianco alla label accedono alla telecamera del dispositivo (se presente) e decodificano il barcode inserendo il seriale nel campo di input. Se si ha necessità il codice del barcode può anche essere inserito manualmente.

Vediamo ora anche lo script che ci genera il primo dei tre campi, in un sezione dedicata

::G.SEZ Pos(1)
::G.SUB.FLD Tit="Barcode" SubNote="Esempio di Barcode"
::G.SET.FLD Type="Bcd"
::D.OGG T() P() K()

Questo componente ha varie personalizzazioni! per vederle tutti vi consiglio di visionare il nostro showcase dei componenti.

Aggiungo questa piccola nota per dire se si vuole utilizzare una sezione FLD funzionerà solo in Sme.UP Mobile tramite la nostra app.

Input panel

Vediamo anche un esempio, sempre per la lettura di barcode, ma attraverso una sezione con InputPanel. In questo caso, il componente input panel permette molto può controllo del dato, oltre a contenere potenzialmente altri campi di input. Tuttavia la realizzazione è più complessa.

Nel esempio che segue sono riportati degli esempi di QrCode e Barcode inseriti in un input panel.

Nell’immagine c’è un esempio di campo input, che si comporta come visto in precedenza con l’fld: avvia la telecamera del dispositivo per rilevare il codice.

Gli altri sono in output. Esatto, con la app (e con webup in generale) potete anche generare dei barcode sullo schermo.

Per applicare ad un campo di input panel il componente grafico, quindi nel nostro caso il Barcode, definiamo nel layout l’attributo “Cmp” del nodo “Fld”. Quindi andremo ad associare questo nostro layout alla sezione con il campo di input.

Vediamo un esempio di script di scheda che definisce l’input panel:

::G.SEZ Pos(1) Type(TAB)
::G.SUB.INP Tit="Bcd"
::G.SET.INP ReadOnly="No" UpdSvc="LOSER_09" Layout="V2FOGOG"

Ora vediamo l’esempio di SCP_LAY da utilizzare:

::Sez Pos="A" 
::Fld Nam="BCD_11" Txt="Lettore Barcode tramite bottone più imputabile da tastiera" Ogg="**" Cmp="Bcd" VTe="0123456789"
Estensioni (Ext)
E’ possibile, grazie all’attributo Estensione (Ext), dare una configurazione ulteriore al componente. Vediamo dove specificare questo attributo nei nostri due casi:
Nel caso del input panel l’attributo va inserito a livello li layout, ad esempio:
::Fld Cmp='Cmb' Ext='DescrMode(DescOnly)'

Nel caso del Field, invece, il parametro va specificato a livello di setup del componente, quindi nello script di scheda. Vediamo un esempio:

::G.SEZ Pos(1)
 ::G.SUB.FLD Tit="*NONE" SubNote="Esempio di BarCode con paramentro Ext=BcdOri(orizontal) BcdTyp(qr)"
 ::G.SET.FLD Type="Bcd" Ext="BcdOri(orizontal) BcdTyp(qr)"
 ::G.DIN Where="LABEL" When="Change"
 ::G.DIN Where="LABEL2" When="Click"
 ::D.OGG T() P() K()

Per sapere quali sono gli “Ext” accettati dal componenti, si possono guardare attraverso il wizard (premendo Ctrl+W sopra la riga di cui vogliamo sapere gli attributi, oppure premendo il tasto “wizard in basso a destra.”) di scheda premendo il bollino affianco alla label “Estensioni”.

Di seguito vi riporto un video che mostra, un esempio, su come effettuare la lettura di un codice a barre da dispositivo mobile, e successivamente eseguire il suo upload.

Piccoli cenni storici (giusto per annoiarvi un po…)

La prima volta che venne utilizzata questa tecnologia fu nel 1974, quando presso un supermarket nell’Ohio viene venduto il primo prodotto, un pacchetto di gomme da masticare, tramite una cassa che lesse il codice a barre presente sulla confezione. Per “leggere” questi codici a barre vennero inventate delle pistole, che utilizzano la tecnologa laser per decodificare il contenuto, per poi memorizzarlo in un computer o un registratore di cassa!

La storia dei QrCode, invece, è molto più recente, il suo sviluppo iniziò da una compagnia giapponese, la cui necessità era di tracciare dei pezzi in una fabbrica di Toyota! In seguito questa tecnologia venne utilizzata da un’azienda di telefonia giapponese per sollevare le persone dal noioso compito di inserire dati nel telefonino manualmente. Da allora questa tecnologia è stata utilizzata principalmente per fornire informazioni veloci agli smartphone.

Come funziona la “lettura” del codice a barre

Il codice a barre è il più diffuso sistema di identificazione di oggetti al mondo, esso è costituito da una sequenza alternata di barre scure e chiare di diverso spessore.

Per leggere un barcode vengono utilizzati appositi sistemi che, emettendo dei raggi di luce, che “spazzolano” il barcode. I raggi emessi dalle apparecchiature vengono assorbiti dalle barre scure e riflessi da quelle chiare; l’identificazione dell’articolo avviene sulla base del segnale che viene rinviato ai dispositivi di lettura. È chiaro come il contrasto tra il colore utilizzato per le barre scure e quello per le chiare deve essere abbastanza marcato per consentire la lettura; è quindi consigliabile utilizzare dell’inchiostro nero su fondo bianco o giallo.

Anche se si tratta di una tecnologia che ormai ha i suoi anni, ancora oggi si fa fatica a trovare qualcosa che li possa sostituire. Questo anche perché i costi dello stampaggio di queste etichette al giorno d’oggi hanno raggiunto cifre veramente molto basse. Una tecnologia che si pensa potrebbe sostituire i Barcode, in futuro, è quella RFID.