DataMatrix ou comment bien étiqueter les chaussures

Depuis le 1er juillet 2019, la Russie a mis en place l'obligation d'Ă©tiquetage pour certains groupes de produits. À partir du 1er mars 2020, les chaussures devaient Ă©galement ĂȘtre concernĂ©es par cette loi. Toutefois, tout le monde n'a pas pu se prĂ©parer Ă  temps, ce qui a entraĂźnĂ© un report de son application au 1er juillet. Lamoda fait partie de ceux qui Ă©taient prĂȘts.

Nous souhaitons donc partager notre expĂ©rience avec ceux qui doivent encore Ă©tiqueter des vĂȘtements, des pneus, des parfums, etc. Cet article dĂ©crit une sĂ©rie de normes sectorielles, quelques documents rĂ©glementaires et notre expĂ©rience personnelle. Cet article est principalement destinĂ© aux intĂ©grateurs et aux dĂ©veloppeurs qui vont aborder ce projet.

DataMatrix ou comment bien étiqueter les chaussures

Veuillez noter que le cadre rĂ©glementaire change frĂ©quemment, et l'auteur n'a pas les moyens de tenir Ă  jour constamment le matĂ©riel. Par consĂ©quent, au moment de la lecture, certaines informations peuvent dĂ©jĂ  ĂȘtre obsolĂštes.

L'expérience personnelle de l'auteur a été acquise à la fois dans le cadre du projet Datamatrix chez Lamoda et lors du développement de sa propre application gratuite pour l'étiquetage BarCodesFx.

Depuis le 1er juillet 2019, une loi sur l'Ă©tiquetage obligatoire est en vigueur en Russie. Cette loi ne s'applique pas Ă  tous les groupes de produits, et les dĂ©lais d'entrĂ©e en vigueur de l'Ă©tiquetage obligatoire varient selon les groupes de produits. Actuellement, l'Ă©tiquetage obligatoire concerne le tabac, les fourrures, les chaussures et les mĂ©dicaments. Dans un avenir proche, il sera Ă©tendu aux pneus, aux vĂȘtements, aux parfums et aux vĂ©los. Chaque groupe de produits est rĂ©gi par un arrĂȘtĂ© sĂ©parĂ© du gouvernement (PRP). Par consĂ©quent, certaines affirmations qui sont correctes pour les chaussures peuvent ĂȘtre incorrectes pour d'autres groupes de produits. Mais on peut espĂ©rer que l'Ă©lĂ©ment technique ne variera pas beaucoup entre les diffĂ©rents groupes de produits.

ÉtiquetageL'idĂ©e principale de l'Ă©tiquetage est qu'un numĂ©ro individuel est attribuĂ© Ă  chaque unitĂ© de produit. Ce numĂ©ro permet de suivre l'historique d'une unitĂ© de produit prĂ©cise depuis sa fabrication ou son importation dans le pays jusqu'Ă  son retrait Ă  la caisse. Cela semble beau, mais en pratique, c'est extrĂȘmement complexe Ă  rĂ©aliser. Le concept est dĂ©crit plus en dĂ©tail sur le site officiel du signe de bonne foi.

Termes et concepts acceptés

UOT — participant à la circulation des produits.
CRPT — centre de dĂ©veloppement des technologies avancĂ©es. Entreprise privĂ©e, unique entrepreneur public pour le projet de marquage. Fonctionne selon un modĂšle de partenariat public-privĂ© (PPP). Malheureusement, il n'y a pas d'informations sur d'autres participants Ă  l'appel d'offres du projet, ni sur l'appel d'offres lui-mĂȘme.
TG — groupe de produits. Chaussures, vĂȘtements, pneus, etc.
GTIN — en essence, c'est un article prenant en compte la couleur et la taille. DĂ©livrĂ© par GS1 ou le catalogue national pour chaque importateur ou producteur pour son produit. Au prĂ©alable, le producteur ou l'importateur doit dĂ©crire ce produit.
PPR — dĂ©cret du gouvernement de la FĂ©dĂ©ration de Russie. Pour les chaussures — 860.
KM — code de marquage. Ensemble unique de symboles attribuĂ© Ă  une unitĂ© de produit spĂ©cifique. Pour les chaussures, il se compose de GTIN, numĂ©ro de sĂ©rie, code de vĂ©rification et crypto-suffixe.
GS1 — organisation internationale dĂ©livrant les GTIN. Également rĂ©dacteurs de plusieurs normes de marquage.
Catalogue national — Ă©quivalent de GS1, dĂ©veloppĂ© par le CRPT.
Crypto-suffixe — Ă©quivalent d'une signature numĂ©rique, confirmant la lĂ©galitĂ© du KM. Doit obligatoirement ĂȘtre prĂ©sent dans le data-matrix sur l'Ă©tiquette. Le stockage sous forme texte est interdit. AprĂšs l'impression de l'Ă©tiquette, il doit ĂȘtre supprimĂ© conformĂ©ment au contrat avec le CRPT. Aucun cas d'utilisation rĂ©elle n'est connu.
SUZ — station de gestion des commandes. SystĂšme oĂč les KM pour les produits sont commandĂ©s.
EDO — gestion Ă©lectronique des documents.
UKEP — signature Ă©lectronique qualifiĂ©e renforcĂ©e.

Termes et concepts dans le cadre de cet article

CZ — marque honnĂȘte.
LK — espace personnel.
Marque — code de marquage imprimĂ©.

Le processus se dĂ©roule comme suit : d'abord, le participant (UOT) Ă©met une signature Ă©lectronique (UKEP), s'inscrit Ă  la marque honnĂȘte (CZ), dĂ©crit le produit dans le catalogue national ou GS1, obtient les GTIN pour le produit. Sur le site de la marque honnĂȘte, ces Ă©tapes sont dĂ©crites en dĂ©tail, donc nous ne nous attarderons pas dessus.

Commande et réception des codes

AprÚs avoir reçu les GTIN, le participant (UOT) passe une commande pour les codes (KM) dans le systÚme SUZ.
Important, mais pas évident.

  1. Dans une commande, vous pouvez demander des codes pour un maximum de 10 GTIN. En principe, c'est une restriction peu compréhensible. Un importateur avec 14 000 GTIN doit créer 1 400 commandes.
  2. Dans une commande, il est possible de demander un maximum de 150 000 codes.
  3. Il existe une limite de 100 commandes en traitement. Cela signifie qu'il ne peut y avoir plus de 100 commandes en cours à la fois. Si le nombre de commandes dépasse 100, l'API commencera à retourner une erreur au lieu de la liste des commandes. Le seul moyen de résoudre cette erreur est de fermer certaines commandes via l'interface web. L'API ne prévoit pas de paramÚtre pour une affichage partiel des commandes.
  4. Il y a une limite sur le nombre d'appels - pas plus de 10 requĂȘtes par seconde. D'aprĂšs mes donnĂ©es, cette limite ne figure pas dans les documents, mais elle existe.

D'aprÚs mon expérience personnelle avec les commandes de codes de marquage KM via l'API du systÚme SUZ.

  1. La requĂȘte (le json lui-mĂȘme) doit ĂȘtre signĂ©e avec une signature conforme aux normes GOST. C'est un travail avec Cryptopro. Il faut faire attention Ă  ce que le cadre ou la bibliothĂšque utilisĂ©e ne modifie pas le json d'origine, sinon la signature deviendra immĂ©diatement invalide.
  2. Signature de la commande. Une commande peut ĂȘtre signĂ©e avec n'importe quelle signature, celle de n'importe quel client. Si la signature est valide, le systĂšme SUZ l'acceptera. Lors de l'intĂ©gration, il a Ă©tĂ© possible de signer la requĂȘte avec une signature Ă©trangĂšre, Ă©mise par une autoritĂ© de certification de test. Le circuit opĂ©rationnel du SUZ a traitĂ© la commande et Ă©mis les codes. À mon avis, c'est une faille de sĂ©curitĂ©. Les dĂ©veloppeurs ont rĂ©agi au bug report en disant « nous allons examiner cela ». J'espĂšre qu'ils ont corrigĂ© le problĂšme.

    Soyez donc extrĂȘmement vigilant si plus d'une entitĂ© lĂ©gale travaille sur un mĂȘme poste de travail. Aujourd'hui, le SUZ acceptera ces requĂȘtes, demain les requĂȘtes seront vĂ©rifiĂ©es et la moitiĂ© des codes seront rappelĂ©s en raison d'une signature Ă©trangĂšre. Et en principe, ils auront formellement raison.

  3. L'auto-signature des commandes est une fonctionnalitĂ© qui n'est plus disponible dans le SUZ. Pour son fonctionnement, il Ă©tait nĂ©cessaire de charger la partie privĂ©e de la clĂ© dans le compte personnel du signe honnĂȘte. Cela constitue une compromission de la clĂ©. Et selon la lĂ©gislation en vigueur, en cas de compromission de la signature Ă©lectronique qualifiĂ©e renforcĂ©e, le propriĂ©taire doit informer son autoritĂ© de certification (AC) et rĂ©voquer la QES. Si cette fonctionnalitĂ© devait ĂȘtre rĂ©introduite, assurez-vous que la partie privĂ©e de la clĂ© ne quitte pas l'ordinateur.
  4. En fĂ©vrier, le centre de dĂ©veloppement des technologies prometteuses (ЩРПб) a silencieusement introduit une restriction sur le nombre de requĂȘtes Ă  l'API SUZ. Pas plus d'une requĂȘte par seconde. Puis, de maniĂšre tout aussi inattendue et silencieuse, cette restriction a Ă©tĂ© levĂ©e. Par consĂ©quent, je recommande d'inclure dans le systĂšme la possibilitĂ© de limiter le nombre de requĂȘtes Ă  l'API ЩРПб en cas de rĂ©cidive. Actuellement, il y a des informations sur la limite de 10 requĂȘtes par seconde.
  5. Également en fĂ©vrier, le comportement de l'API SUZ a changĂ© considĂ©rablement sans prĂ©avis. L'API comprend une requĂȘte pour obtenir le statut des commandes. Le statut indiquait les buffers et leur Ă©tat. Un GTIN = un buffer. Il y avait aussi une indication du nombre de codes disponibles Ă  obtenir Ă  partir du buffer. Un jour, le nombre de tous les buffers est devenu -1. J'ai dĂ» interroger l'Ă©tat de chaque buffer sĂ©parĂ©ment par un autre moyen. Au lieu d'une requĂȘte, il a fallu en faire onze.

Structure des codes

Ainsi, les codes ont Ă©tĂ© commandĂ©s et gĂ©nĂ©rĂ©s. Ils peuvent ĂȘtre rĂ©cupĂ©rĂ©s via l'API sous forme de texte, en PDF comme Ă©tiquettes Ă  imprimer et sous forme de fichier CSV avec le texte.

L'API a déjà été mentionnée ci-dessus. En ce qui concerne les deux autres façons. Initialement, le SUZ ne permettait de récupérer les codes qu'une seule fois. Et si un fichier PDF était récupéré, il était nécessaire de rescanner tous les datamatrix depuis le PDF pour obtenir les codes sous forme de texte. Heureusement, la possibilité de récupérer les codes plusieurs fois a été ajoutée, et ce problÚme a été résolu. Les codes restent disponibles pour un nouveau téléchargement pendant deux jours.

Si vous récupérez au format CSV, n'ouvrez jamais, en aucune circonstance, le fichier dans Excel. Et ne le permettez à personne. Excel a une fonction de sauvegarde automatique. Au moment de la sauvegarde, Excel peut modifier vos codes de maniÚre imprévisible. Je recommande d'utiliser Notepad++ pour visualiser les codes.

Si vous ouvrez le fichier du SUZ dans Notepad++, vous pouvez voir des lignes de ce type. Le troisiÚme code est invalide (il manque des séparateurs GS).

DataMatrix ou comment bien étiqueter les chaussures

Les partenaires nous ont transmis des codes pour marquer leurs produits. À l'Ɠil nu, on peut voir quels fichiers ont Ă©tĂ© gĂ©nĂ©rĂ©s avec Excel — jusqu'Ă  5 % des codes Ă©taient invalides.

Je recommande vivement de lire sur les normes GS1. Dans la description de la norme, il y a des réponses à de nombreuses questions concernant la formation de DataMatrix.

Le code d'identification se compose du GTIN et du numéro de série. Selon la norme GS1, ils correspondent aux identifiants d'application (IA) 01 et 21. Notez que les identifiants d'application ne font pas partie du GTIN et du numéro de série. Ils indiquent que, aprÚs l'identifiant d'application (IA), se trouve le GTIN ou le numéro de série. Cela est particuliÚrement important lors de la programmation du logiciel de caisse. Pour remplir la balise 1162, il est nécessaire d'avoir le GTIN et le numéro de série, sans les identifiants d'application.

Pour l'UPD (document de transfert universel) et d'autres documents, en revanche, il est souvent nécessaire d'avoir l'enregistrement complet avec les identifiants d'application.

DataMatrix ou comment bien étiqueter les chaussures

La norme GS1 stipule que le GTIN a une longueur fixe de 14 chiffres et ne peut ĂȘtre composĂ© que de chiffres. Le numĂ©ro de sĂ©rie a une longueur variable et est dĂ©crit Ă  la page 155 de la norme. Il y a aussi une rĂ©fĂ©rence Ă  un tableau avec des symboles qui peuvent apparaĂźtre dans le numĂ©ro de sĂ©rie.

Étant donnĂ© que le numĂ©ro de sĂ©rie a une longueur variable, le sĂ©parateur GS indique sa fin. Dans la table ASCII, il a le code 29. Sans ce sĂ©parateur, aucun programme ne comprendra Ă  quel moment le numĂ©ro de sĂ©rie s'est terminĂ© et d'autres groupes de donnĂ©es ont commencĂ©.

Pour plus de détails sur le code de marquage (CM), vous pouvez lire dans la documentation officielle.

Pour les chaussures, le numĂ©ro de sĂ©rie est fixĂ© Ă  13 chiffres, cependant, sa taille peut ĂȘtre modifiĂ©e Ă  tout moment. Pour d'autres groupes de produits (GP), la longueur du numĂ©ro de sĂ©rie peut diffĂ©rer.

Génération de DataMatrix

DataMatrix ou comment bien étiqueter les chaussures

La prochaine Ă©tape est la conversion des donnĂ©es en code DataMatrix. Dans le dĂ©cret du gouvernement russe 860, une norme est indiquĂ©e selon laquelle il est nĂ©cessaire de former DataMatrix. Le dĂ©cret 860 prĂ©cise Ă©galement l'utilisation obligatoire des identifiants d'application. Notez qu'il n'existe pas de notion d'« identifiants d'application » dans la norme DataMatrix. Ils n'existent que dans la norme GS-1 DataMatrix. Ainsi, le dĂ©cret 860 oblige implicitement Ă  utiliser prĂ©cisĂ©ment GS-1 DataMatrix. Heureusement, les normes sont similaires. La principale diffĂ©rence : dans GS-1 DataMatrix, le premier symbole doit ĂȘtre FNC1. Le symbole GS ne doit pas ĂȘtre en premiĂšre position dans DataMatrix, uniquement FNC1.

Le FNC1 ne peut pas simplement ĂȘtre ajoutĂ© Ă  la chaĂźne comme GS. Il doit ĂȘtre ajoutĂ© par le programme qui gĂ©nĂšre le DataMatrix. Sur les ressources de l'Alliance Fortes, plusieurs applications mobiles, qui peuvent ĂȘtre utilisĂ©s pour vĂ©rifier la validitĂ© des codes DataMatrix gĂ©nĂ©rĂ©s.

Important. L'application Honest Sign accepte des DataMatrix non valides. MĂȘme des QR codes. Le fait que la marque ait Ă©tĂ© reconnue et que les informations sur le produit s'affichent ne signifie pas que le DataMatrix a Ă©tĂ© correctement gĂ©nĂ©rĂ©. MĂȘme en remplaçant le crypto-suffixe, l'application CS a reconnu la marque et affichĂ© les donnĂ©es du produit.

Plus tard, CS a publié une explication, sur la maniÚre de générer correctement les codes. En raison du grand nombre de codes erronés, ils ont reconnu les codes sans FNC1 comme valides, mais recommandent néanmoins de générer des DataMatrix GS-1.

Malheureusement, un pourcentage relativement élevé de DataMatrix provenant de partenaires était erroné. Grùce aux explications fournies par CS, la question 'Peut-on vendre ce produit aprÚs le 1er juillet ou pas ?' a été complÚtement résolue. Spoiler : oui.

Impression

Faites attention Ă  la maniĂšre d'imprimer les marques. Lors de l'impression avec une imprimante thermique, la marque s'estompe rapidement, et ce produit ne peut plus ĂȘtre vendu. Une marque illisible constitue une violation de la PPR 860. Ce qui peut entraĂźner le retrait du produit, des amendes et des poursuites pĂ©nales.

Utilisez l'impression par transfert thermique. Dans ce cas, la marque est moins sujette à l'estompage. L'état du matériel d'étiquette influence également la résistance de la marque aux dommages mécaniques. Si le code n'est pas lisible en raison de dommages mécaniques, cela équivaut à l'absence de marque, avec toutes les conséquences qui en découlent.

DataMatrix ou comment bien étiqueter les chaussures

Choisissez une imprimante en fonction des volumes d'impression prévus. Les imprimantes de bureau ne sont pas conçues pour imprimer 100 000 étiquettes par jour.

L'arrĂȘt et le dĂ©marrage de l'impression augmentent l'usure de l'imprimante. Certains programmes envoient des travaux d'impression Ă©tiquette par Ă©tiquette. Il vaut mieux ne pas utiliser de tels programmes.

Travail avec des documents

AprĂšs l'impression et le collage des marques, toutes les opĂ©rations ultĂ©rieures se font via des documents ou le tableau de bord de l’honest sign.

Lors du traitement d'un grand nombre de codes, il est possible de créer des fichiers XML contenant les codes requis et de télécharger ces fichiers via l'API ou l'interface web du tableau de bord.

Le schĂ©ma XSD peut ĂȘtre tĂ©lĂ©chargĂ© dans la section 'aide' du tableau de bord CS.

Faites attention aux points suivants.

  1. Les schémas XSD dans le tableau de bord CS contiennent des erreurs de validation pour le NIF et des limites sur la longueur des chaßnes. Il est seulement possible d'utiliser les schémas aprÚs avoir corrigé les erreurs. Heureusement, les erreurs sont évidentes, donc ce n'est pas difficile à faire.
  2. Le schéma se compose généralement de deux parties : une partie commune à tous les types de documents et une partie spécifique à un type particulier. Le schéma commun est ajouté par importation dans le schéma spécifique. Les deux schémas sont situés dans la section d'aide de votre compte personnel.
  3. Les rĂšgles d'Ă©chappement pour la KM diffĂšrent de celles gĂ©nĂ©ralement acceptĂ©es pour XML, cela est prĂ©cisĂ© dans la documentation officielle de la CHZ, veuillez y prĂȘter attention. Voici ici Ă  la page 4 toutes les rĂšgles.
  4. Il ne faut pas essayer d'introduire 150 000 codes en circulation avec un seul fichier. D'aprÚs des témoins, les fichiers de plus de 30 000 passent généralement.
  5. Un fichier XML peut ĂȘtre refusĂ© avec l'erreur “erreur de validation XML”, puis ĂȘtre acceptĂ© sans problĂšme cinq minutes plus tard.
  6. Si le fichier contient déjà un code introduit en circulation, le fichier d'entrée en circulation ne sera probablement pas accepté.
  7. Les documents d'expĂ©dition et de rĂ©ception sont utilisĂ©s comme solution temporaire. Dans un avenir proche, ils devraient ĂȘtre supprimĂ©s et remplacĂ©s par des UPD conformĂ©ment au PPR 860.
  8. Le mythe des 60 jours. Il est commun de penser que les codes non introduits en circulation « expirent » aprÚs 60 jours. C'est un mythe, la source est inconnue. Les codes « expirent » uniquement si vous ne les avez pas récupérés de la SUZ dans les 60 jours. La durée de vie des codes récupérés n'est pas limitée.

Conclusion

Lors de la conception de mon application gratuite de marquage BarCodesFX, une intĂ©gration avec l'API de la SUZ a Ă©tĂ© rĂ©alisĂ©e Ă  l'origine. Lorsque le signe honnĂȘte a soudainement modifiĂ© la logique de fonctionnement de l'API pour la deuxiĂšme fois, il a fallu renoncer Ă  l'intĂ©gration. J'espĂšre que la CHZ rĂ©ussira Ă  stabiliser le dĂ©veloppement et l'API Ă  l'avenir, car il m'est trĂšs coĂ»teux de vĂ©rifier chaque jour les Ă©ventuels changements dans l'API pour un produit non commercial et de le mettre Ă  jour rapidement.

Lors de l'implĂ©mentation du marquage, veuillez vous familiariser attentivement avec la documentation rĂ©glementaire relative Ă  votre groupe de produits TG, imprimer correctement le GS1-DataMatrix et ĂȘtre prĂȘt Ă  tout changement imprĂ©vu de la part du signe honnĂȘte CHZ.

L'alliance Fort a créé un espace d'information (wiki, chats sur Telegram, sĂ©minaires, webinaires) oĂč vous pouvez trouver des informations utiles et Ă  jour sur le marquage dans tous les secteurs.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster