Dal 1 luglio 2019, in Russia è stata introdotta la marcatura obbligatoria per alcuni gruppi di prodotti. Dal 1 marzo 2020, le scarpe avrebbero dovuto rientrare in questa legge. Non tutti sono riusciti a prepararsi in tempo e così il lancio è stato rinviato al 1 luglio. Lamoda è tra coloro che sono riusciti.
Perciò vogliamo condividere la nostra esperienza con coloro che devono ancora affrontare la marcatura di abbigliamento, pneumatici, profumi e altro. L'articolo descrive vari standard di settore, una certa normativa e esperienze personali. È destinato principalmente a integratori e sviluppatori che si stanno preparando ad affrontare questo progetto.

Si prega di notare che la base normativa cambia frequentemente e l'autore non ha la possibilità di aggiornare continuamente il materiale. Pertanto, al momento della lettura, alcune informazioni potrebbero già essere obsolete.
L'esperienza personale ottenuta dall'autore deriva sia dal lavoro sul progetto Datamatrix in Lamoda, sia dallo sviluppo della propria applicazione gratuita per la marcatura BarCodesFx.
Dal 1 luglio 2019, in Russia è in vigore una legge sulla marcatura obbligatoria. La legge non si applica a tutti i gruppi di prodotti e le scadenze per l'entrata in vigore della marcatura obbligatoria variano tra i gruppi merceologici. Attualmente, la marcatura obbligatoria si applica a tabacco, pellicce, scarpe e medicinali. Presto sarà introdotta per pneumatici, abbigliamento, profumi e biciclette. Ogni gruppo di prodotti è regolato da un apposito decreto governativo (PPR). Pertanto, alcune affermazioni valide per le scarpe potrebbero non esserlo per altri gruppi di prodotti. Ma si può sperare che l'aspetto tecnico non varierà significativamente tra i diversi gruppi merceologici.
MarcaturaL'idea principale della marcatura è che a ogni singolo prodotto viene assegnato un numero identificativo. Grazie a questo numero, è possibile tracciare la storia di un singolo articolo dalla produzione o importazione nel paese fino al momento della vendita. Sembra interessante, ma in pratica è estremamente complesso da realizzare. Maggiori dettagli sul concetto sono disponibili sul sito ufficiale del Marchio Onesto.
Termini e concetti comuni
UOT — partecipante alla circolazione dei beni.
CRPT — Centro per lo sviluppo di tecnologie avanzate. Azienda privata, unico appaltatore pubblico per il progetto di marcatura. Opera secondo un modello di partenariato pubblico-privato (PPP). Non ci sono informazioni sugli altri partecipanti alla gara del progetto, né sulla gara stessa.
TG — gruppo merceologico. Scarpe, abbigliamento, pneumatici, ecc.
GTIN — essenzialmente, un articolo considerando colore e taglia. Assegnato da GS1 o dal catalogo nazionale per ogni importatore o produttore del suo prodotto. Prima, il produttore o l'importatore deve descrivere questo prodotto.
PPR — decreto del governo della Federazione Russa. Per le scarpe — 860.
KM — codice di marcatura. Un insieme unico di simboli assegnato a un singolo articolo. Per le scarpe, è composto da GTIN, numero di serie, codice di verifica e coda crittografica.
GS1 — organizzazione internazionale che rilascia GTIN. Inoltre, redattrice di vari standard per la marcatura.
Catalogo Nazionale — equivalente di GS1, sviluppato dal CRPT.
Coda crittografica — equivalente di una firma digitale che conferma la legalità del KM. Deve essere presente nel datamatrix sull'etichetta. La conservazione in formato testo è vietata. Dopo la stampa, la marcatura deve essere rimossa secondo il contratto con il CRPT. Non si conoscono casi di utilizzo reale.
SUZ — stazione di gestione degli ordini. Sistema in cui si ordinano i KM per i prodotti.
EDO — scambio elettronico di documenti.
UKEP — firma elettronica qualificata rafforzata.
Termini e concetti nell'ambito di questo articolo
CZ — Marchio Onesto.
LK — area personale.
Etichetta — codice di marcatura stampato.
Il processo si sviluppa come segue: innanzitutto, il partecipante (UOT) emette una firma elettronica (UKEP), si registra nel Marchio Onesto (CZ), descrive il prodotto nel catalogo nazionale o GS1 e riceve GTIN per il prodotto. Sul sito del Marchio Onesto, questi passaggi sono descritti in dettaglio quindi non ci soffermiamo su di essi.
Ordine e ricezione dei codici
Dopo aver ricevuto i GTIN, il partecipante (UOT) effettua un ordine di codici (KM) nel sistema SUZ.
Importante, ma non ovvio.
- In un unico ordine è possibile richiedere codici al massimo per 10 GTIN. In realtà, è un limite poco comprensibile. Un importatore con 14.000 GTIN deve effettuare 1.400 ordini.
- In un unico ordine è possibile richiedere al massimo 150.000 codici.
- Esiste un limite di 100 ordini in elaborazione. Quindi, contemporaneamente è possibile avere non più di 100 ordini in lavorazione. Se ci sono più di 100, l'API inizierà a restituire un errore invece di un elenco di ordini. L'unico modo per risolvere questo errore è chiudere alcuni ordini tramite l'interfaccia web. Nell'API non è previsto un parametro per la visualizzazione parziale degli ordini.
- C'è un limite al numero di richieste: non più di 10 richieste al secondo. Secondo i documenti a mia disposizione, questa limitazione non è menzionata, ma esiste.
Dalla mia esperienza personale con gli ordini di codici di marcatura KМ tramite l'API del sistema SUZ.
- La richiesta (il json stesso) deve essere firmata con una firma conforme a GOST. Si lavora con criptografia. È importante assicurarsi che il framework o la libreria utilizzati non modifichino nemmeno un byte del json originale. Altrimenti, la firma diventa immediatamente non valida.
- Firma dell'ordine. L'ordine può essere firmato con qualsiasi firma di qualsiasi cliente. Se la firma è valida, il sistema SUZ la accetterà. Durante l'integrazione, è stato possibile firmare la richiesta con una firma straniera, rilasciata da un'autorità di certificazione test. Il sistema produttivo del SUZ ha elaborato l'ordine e ha rilasciato i codici. A mio avviso, questo è un buco nella sicurezza. Gli sviluppatori hanno risposto al bug report con 'lo esamineremo'. Spero che abbiano corretto il problema.
Pertanto, fate attenzione se più di un'entità legale lavora nello stesso posto di lavoro. Oggi il SUZ accetterà queste richieste, ma domani rivedranno le richieste e ritireranno metà dei codici a causa di una firma altrui. In linea di principio, avrebbero ragione formalmente.
- L'auto-firma degli ordini non è più una funzionalità disponibile nel SUZ. Per il suo funzionamento era necessario caricare la parte privata della chiave nel cabinetto personale del segno onesto. Questo significa compromettere la chiave. Secondo la legislazione vigente, in caso di compromissione di una firma elettronica qualificata rinforzata, il proprietario deve informare il proprio centro di certificazione (UC) e ritirare la firma qualificata. Se questa funzionalità verrà ripristinata, assicurati che la parte privata della chiave non lasci il computer.
- A febbraio, il centro per lo sviluppo delle tecnologie avanzate (TsRPT) ha silenziosamente introdotto una limitazione sul numero di richieste all'API del SUZ. Non più di una richiesta al secondo. Poi, in modo altrettanto inaspettato e silenzioso, ha rimosso questa limitazione. Pertanto, consiglio di prevedere nella sistemazione la possibilità di limitare il numero di richieste all'API TsRPT nel caso di recidive. Attualmente ci sono informazioni su un limite di 10 richieste al secondo.
- A febbraio, senza preavviso, è cambiato notevolmente il comportamento dell'API SUZ. Nell'API esiste una richiesta per ottenere lo stato degli ordini. Nello stato erano indicati i buffer e il loro stato. Un GTIN = un buffer. Lì era anche indicato quante codifiche erano disponibili per il recupero dal buffer. Un bel giorno, il numero di tutte le codifiche nei buffer è diventato -1. È stato necessario interpellare lo stato di ciascun buffer separatamente tramite un metodo diverso. Invece di una richiesta, ne sono state fatte undici.
Struttura dei codici
Quindi, i codici sono stati ordinati e generati. Possono essere recuperati tramite l'API in formato testo, in PDF come etichette per la stampa e come file CSV con il testo.
Si è già parlato dell'API sopra. Per quanto riguarda gli altri due metodi. Inizialmente, il SUZ consentiva di recuperare i codici solo una volta. E se si recuperava un file PDF, era possibile ottenere i codici in formato testo solo ris scansando tutti i codici a barre dal PDF. Fortunatamente, è stata aggiunta la possibilità di recuperare più volte i codici, risolvendo così il problema. Per due giorni i codici sono ancora disponibili per il download ripetuto.
Se scaricate in formato CSV, non apritelo MAI, in nessuna circostanza, in Excel. E non permettete a nessun altro di farlo. In Excel c'è una funzione di salvataggio automatico. Nel momento del salvataggio, Excel può modificare i vostri codici in modo del tutto imprevedibile. Consiglio di utilizzare notepad++ per visualizzare i codici.
Se aprite un file dal SUZ in notepad++, potete vedere righe di questo tipo. Il terzo codice è non valido (mancano i delimitatori GS).
![]()
I partner ci hanno fornito codici per la marcatura dei loro prodotti. A occhio nudo si può vedere quali file sono stati generati con Excel: fino al 5% dei codici erano non validi.
Raccomando vivamente di leggere su GS1. Nella descrizione dello standard ci sono risposte a molte domande sulla generazione del DataMatrix.
Il codice di identificazione è composto da GTIN e numero di serie. Secondo lo standard GS1, corrispondono agli identificatori di applicazione (IA) 01 e 21. Si prega di notare che gli identificatori di applicazione non fanno parte del GTIN e del numero di serie. Indicano che dopo l'identificatore di applicazione (IA) segue il GTIN o il numero di serie. Questo è particolarmente importante nella programmazione del software di cassa. Per compilare il tag 1162 sono necessari proprio GTIN e numero di serie, senza identificatori di applicazione.
Per l'UPD (documento di trasporto universale) e altri documenti, al contrario, è spesso necessaria la registrazione completa con gli identificatori di applicazione.

Nello standard GS1 è stabilito che il GTIN ha una lunghezza fissa di 14 caratteri e può contenere solo numeri. Il numero di serie ha una lunghezza variabile ed è descritto a pagina 155 dello standard. Qui si trova anche un link a una tabella con i simboli che possono apparire nel numero di serie.
Poiché il numero di serie ha una lunghezza variabile, il delimitatore GS indica la sua conclusione. Nel codice ASCII ha il valore 29. Senza questo delimitatore, nessun programma capirà dove finisce il numero di serie e iniziano altri gruppi di dati.
Puoi leggere di più sul codice di marcatura (КМ) in .
Per le scarpe, il numero di serie è fissato a 13 caratteri, tuttavia, la sua dimensione può essere cambiata in qualsiasi momento. Per altri gruppi di merce (ТГ), la lunghezza del numero di serie può variare.
Generazione DataMatrix

Il passaggio successivo è convertire i dati nel codice DataMatrix. Nella risoluzione del governo russo 860 è indicato il GOST, secondo cui è necessario formare il DataMatrix. Inoltre, nel PPR 860 è specificato l'uso obbligatorio degli identificatori di applicazione. È importante notare che nello standard DataMatrix non esiste il concetto di "identificatori di applicazione". Essi sono presenti solo nello standard GS-1 DataMatrix. Pertanto, il PPR 860 obbliga implicitamente all'uso del GS-1 DataMatrix. Fortunatamente, gli standard sono simili. L'unica differenza fondamentale: nel GS-1 DataMatrix, il primo simbolo deve essere FNC1. Il simbolo GS non deve trovarsi al primo posto nel DataMatrix, solo FNC1.
FNC1 non può essere semplicemente aggiunto alla stringa come GS. Deve essere aggiunto dal programma che genera il DataMatrix. Su risorse dell'Alleanza Forti sono disponibili diversi , con cui è possibile verificare la correttezza dei codici DataMatrix generati.
Importante. L'applicazione Честный знак accetta DataMatrix non validi. Anche i codici QR. Il fatto che il marchio sia stato riconosciuto e le informazioni sul prodotto siano state visualizzate non è un indicatore che il DataMatrix sia stato formato correttamente. Anche con la sostituzione del crypto-suffisso, l'applicazione ЧЗ ha riconosciuto il marchio e visualizzato i dati sul prodotto.
Successivamente, ЧЗ ha pubblicato , su come generare correttamente i codici. A causa del gran numero di codici errati, hanno riconosciuto come validi i codici senza FNC1, ma raccomandano comunque di generare il GS-1 DataMatrix.
Sfortunatamente, una percentuale abbastanza elevata di DataMatrix provenienti dai partner arrivava con errori. Grazie alle spiegazioni di ЧЗ, è stata completamente risolta la questione “È possibile vendere tale prodotto dopo il 1 luglio o no?”. Spoiler: sì.
Stampa
Fai attenzione al modo in cui stampi i marchi. Quando si stampano con una stampante termica, il marchio svanisce rapidamente e questo prodotto non può più essere venduto. Un marchio illeggibile è una violazione del PPR 860, che porta al ritiro del prodotto, sanzioni e responsabilità penale.
Utilizza la stampa termosensibile. In questo caso, il marchio è meno soggetto a sbiadire. Anche il materiale dell'etichetta influisce su quanto il marchio sia soggetto a danni meccanici. Se il codice non può essere letto a causa di un danno meccanico, questo è equivalente all'assenza del marchio con tutte le conseguenze del caso.

Scegli una stampante in base ai volumi di stampa previsti. Le stampanti desk non sono progettate per stampare 100.000 etichette al giorno.
L'arresto e l'avvio della stampa aumentano l'usura della stampante. Alcuni programmi inviano il compito di stampa un'etichetta alla volta. È meglio non utilizzare tali programmi.
Gestione dei documenti
Dopo che i marchi sono stati stampati e applicati, tutte le operazioni successive avvengono tramite documenti o l'area personale dell'applicazione Честный знак.
Quando si lavora con un gran numero di codici, è possibile creare file XML contenenti i codici richiesti e caricare questi file tramite API o interfaccia web dell'area personale.
È possibile scaricare lo schema XSD nella sezione “aiuto” nell'area personale di ЧЗ.
Fai attenzione ai seguenti aspetti.
- Gli schemi XSD nell'area personale di ЧЗ contengono errori nella validazione dell'INN e limiti sulla lunghezza della stringa. Solo correggendo gli errori è possibile utilizzare gli schemi. Fortunatamente, gli errori sono evidenti, quindi non è difficile correggerli.
- Lo schema è composto generalmente da due parti: una generale per tutti i tipi di documenti e una separata per un tipo specifico. Lo schema generale è aggiunto tramite importazione nello specifico. Entrambi gli schemi sono disponibili nella sezione aiuto nell'area personale di ЧЗ.
- Le regole di escaping per КМ differiscono da quelle comunemente accettate per XML, come indicato nella documentazione ufficiale di ЧЗ, fai attenzione. Ecco a pagina 4 tutte le regole.
- Non tentare di immettere 150.000 codici in circolazione con un solo file. Secondo i testimoni, i file di oltre 30.000 di solito passano..
- Un file XML può essere restituito con un errore “errore di validazione XML”, e dopo cinque minuti lo stesso file può essere accettato senza problemi.
- Se nel file si trova già un codice immesso in circolazione, è probabile che il file di immissione in circolazione non venga accettato.
- I documenti di spedizione e ricezione vengono utilizzati come soluzione temporanea. In seguito, si prevede di abolirli e passare agli UFD secondo il PPR 860.
- Il mito dei 60 giorni. C'è un'opinione secondo cui i codici non attivati 'scadono' dopo 60 giorni. Questo è un mito, l'origine è sconosciuta. I codici 'scadono' solo se non sono stati prelevati dal SUZ entro 60 giorni. La durata dei codici prelevati non è limitata.
Conclusione
Durante lo sviluppo della mia app gratuita per la marcatura BarCodesFX, inizialmente è stata fatta un'integrazione con l'API del SUZ. Quando il Marchio Onesto ha cambiato inaspettatamente la logica dell'API per la seconda volta, ho dovuto rinunciare all'integrazione. Spero che in futuro il MO riesca a stabilizzare lo sviluppo e l'API, poiché per un prodotto non commerciale è molto costoso controllare ogni giorno se ci sono stati cambiamenti nell'API e aggiornare tempestivamente.
Nel implementare la marcatura, assicurati di familiarizzare con la documentazione normativa relativa al tuo gruppo merceologico TG, stampa correttamente il GS1-DataMatrix e sii pronto a qualsiasi cambiamento imprevisto da parte del Marchio Onesto MO.
L'alleanza Fort ha creato uno spazio informativo (, su Telegram, seminari, webinar), dove puoi trovare informazioni utili e aggiornate sulla marcatura in tutti i settori.
Fonte: habr.com
