Tastiera e dati in uscita

Formattazione dei dati: togliere, aggiungere ed estrarre caratteri dal codice letto

La formattazione dei dati permette al lettore di modificare il codice prima di trasmetterlo: togliere caratteri iniziali o finali, eliminare la cifra di controllo, convertire UPC-E in UPC-A, sostituire un carattere, estrarre un solo campo da una stringa GS1. Le conversioni semplici si attivano con un codice del manuale; le regole complesse si creano meglio con il software del produttore.

Due livelli: opzioni di simbologia e regole di formattazione

Prima di creare regole, controlla se ti basta un'opzione già pronta. Molte trasformazioni comuni sono semplici interruttori nel capitolo della simbologia:

Opzioni pronte che spesso evitano una regola
EsigenzaOpzione tipicaEsempio di output
Il software vuole 13 cifre anche per gli UPC-ATrasmetti UPC-A come EAN-130012345678905 (13 cifre)
Il software vuole 12 cifre per UPC-ATrasmetti UPC-A come 12 cifre, preambolo off012345678905
Codici UPC-E da trattare come UPC-AConverti UPC-E in UPC-A01234565 diventa 012345000065
Niente cifra di controlloTrasmetti cifra di controllo: off800123456789
Code 39 con asterischiTrasmetti start/stop: off (di solito già così)ABC123 invece di *ABC123*
Sapere quale simbologia è stata lettaIdentificatore AIM]E08001234567897

Le opzioni disponibili e i loro nomi variano tra modelli. Verifica sempre nella guida e prova con il test del lettore. Prima di togliere una cifra di controllo, valuta che il software potrebbe usarla per validare: vedi cifra di controllo.

Le regole di formattazione

Quando le opzioni non bastano, i lettori professionali offrono un motore di regole: Honeywell lo chiama Data Formatting, Zebra Advanced Data Formatting (ADF), gli altri produttori usano nomi simili. Il concetto è sempre lo stesso:

  1. Condizioni: a quali letture si applica la regola (simbologia, lunghezza, caratteri presenti in una certa posizione).
  2. Azioni: cosa fare, in sequenza (sposta il cursore, salta N caratteri, trasmetti fino a un carattere, inserisci un testo, sostituisci, sopprimi).
  3. Comportamento se nessuna regola corrisponde: trasmettere il dato così com'è, oppure rifiutarlo con un beep di errore.

Le regole si possono comporre con i codici del manuale, ma richiedono lunghe sequenze di valori; con il software di configurazione si costruiscono in modo visivo e si esportano.

Esempi pratici con input e output

Togliere un prefisso fisso dalle etichette interne

Letto:      MAG-0004512
Regola:     se Code 128 inizia con "MAG-", salta 4 caratteri, trasmetti il resto
Trasmesso:  0004512

Estrarre solo il GTIN da un Data Matrix GS1

Un Data Matrix su un farmaco o su un prodotto alimentare può contenere GTIN, scadenza, lotto e seriale. Se la cassa vuole solo il codice prodotto a 13 cifre:

Letto:      01080012345678971727123110LOTTO42[GS]21ABC123
            (senza spazi; [GS] = carattere ASCII 29)
Regola:     se inizia con "010", salta 3 caratteri, trasmetti 13 caratteri
Trasmesso:  8001234567897

La regola funziona solo se l'AI (01) è il primo campo, cosa comune ma non garantita. Verifica su un campione reale con il decodificatore GS1 e leggi GS1-128 e Application Identifier per la struttura dei campi.

Rendere visibile il separatore GS

Regola:     sostituisci ASCII 29 con "|"
Trasmesso:  01080012345678971727123110LOTTO42|21ABC123

Perché serve e quali caratteri scegliere è spiegato in carattere GS e FNC1.

Bloccare i codici sbagliati

Se a un banco di ricevimento merci devono passare solo SSCC, puoi creare una regola che accetta solo GS1-128 che iniziano con l'AI 00 e lunghi 20 caratteri, rifiutando il resto. Riduce gli errori di chi legge il codice sbagliato su un'etichetta piena di codici.

In che ordine il lettore applica le modifiche

È la fonte di molte sorprese. In generale il lettore decodifica, applica le opzioni di simbologia (cifra di controllo, conversioni), poi le regole di formattazione, infine aggiunge prefissi, identificatori e suffissi. Su alcuni modelli però una regola di formattazione attiva sostituisce prefissi e suffissi configurati altrove: il codice esce corretto ma senza Invio. Se dopo aver creato una regola l'Invio sparisce, aggiungilo dentro la regola stessa oppure verifica nel manuale come interagiscono le due funzioni. Per i prefissi vedi prefissi e suffissi personalizzati.

Nel lettore o nel software?

Dove conviene trasformare i dati
CriterioNel lettoreNel software
Nessuna possibilità di modificare il softwareUnica via
Molti lettori di modelli diversiRegole da replicare e mantenere su ciascunoUna sola logica centralizzata
Dati GS1 complessiPossibile ma fragilePiù robusto, con parser GS1
Sostituzione di un lettore guastoVa riconfigurato con le stesse regoleBasta un lettore standard

Se sviluppi o scegli il software, vedi integrazione del lettore con il software POS.

Errori comuni

  • Regola troppo generica che taglia anche codici a cui non doveva applicarsi: specifica sempre simbologia e lunghezza.
  • Regola dimenticata su un lettore usato: il codice esce "mutilato" e nessuno ricorda perché. Documenta le regole insieme alla configurazione.
  • Posizioni fisse su dati GS1 a lunghezza variabile: funzionano finché lotto o seriale non cambiano lunghezza.
  • Nessun test sui casi limite: UPC-E, EAN-8, codici con add-on, etichette danneggiate.

Domande frequenti

Posso aggiungere la data o l'ora a ogni lettura?

In emulazione tastiera di norma no, il lettore non ha un orologio per questo scopo. Alcuni lettori in modalità batch registrano informazioni aggiuntive; altrimenti lo fa il software.

Le regole sopravvivono a un reset?

Un reset di fabbrica le cancella. Se le salvi nei default personalizzati, un reset normale le mantiene: verifica il comportamento del tuo modello.

Posso avere regole diverse per due postazioni con lo stesso lettore?

Ogni lettore ha la sua configurazione: prepara due codici di configurazione distinti ed etichetta i lettori.

Fonti e riferimenti

  • GS1 General Specifications, gs1.org.
  • ISO/IEC 15420 (EAN/UPC) e ISO/IEC 16022 (Data Matrix), iso.org.
  • Guide alla formattazione dei dati dei produttori (Data Formatting, Advanced Data Formatting): Honeywell, Zebra, Datalogic.

Altro in Tastiera e dati in uscita

Tutta la sezione Tastiera e dati in uscita