DataMatrix ou comment bien étiqueter les chaussures

Depuis le 1er juillet 2019, l'étiquetage obligatoire d'un groupe de marchandises a été introduit en Russie. A partir du 1er mars 2020, les chaussures devaient tomber sous le coup de cette loi. Tout le monde n'a pas eu le temps de se préparer et, par conséquent, le lancement a été reporté au 1er juillet. Lamoda fait partie de ceux qui y sont parvenus.

Par conséquent, nous voulons partager notre expérience avec ceux qui n'ont pas encore étiqueté les vêtements, les pneus, les parfums, etc. L'article décrit un certain nombre de normes de l'industrie, certains documents réglementaires et une expérience personnelle. L'article s'adresse principalement aux intégrateurs et développeurs qui n'ont pas encore compris ce projet.

DataMatrix ou comment bien étiqueter les chaussures

Veuillez noter que le cadre réglementaire change fréquemment et que l'auteur n'a pas la possibilité de mettre constamment à jour le matériel. Par conséquent, au moment de la lecture, certaines informations peuvent déjà être obsolètes.

L'auteur a acquis une expérience personnelle à la fois dans le cadre du projet Datamatrix à Lamoda et dans le développement de sa propre application gratuite pour le marquage BarCodesFx.

Depuis le 1er juillet 2019, une loi sur l'étiquetage obligatoire est en vigueur en Russie. La loi ne s'applique pas à tous les groupes de produits et le moment de l'entrée en vigueur de l'étiquetage obligatoire pour les groupes de produits varie. Désormais, le tabac, les manteaux de fourrure, les chaussures, les médicaments sont soumis à un étiquetage obligatoire. Dans un avenir proche seront introduits pour les pneus, les vêtements, les parfums et les vélos. Chaque groupe de marchandises est réglementé par un décret gouvernemental distinct (DPG). Par conséquent, certaines déclarations qui sont correctes pour les chaussures peuvent ne pas être vraies pour d'autres groupes de produits. Mais on peut espérer que la composante technique ne variera pas beaucoup pour les différents groupes de produits.

marquageL'idée principale de l'étiquetage est que chaque unité de marchandise se voit attribuer un numéro individuel. Grâce à ce numéro, vous pouvez suivre l'historique d'un article particulier depuis le moment de la production ou de l'importation dans le pays jusqu'au moment de l'élimination à la caisse. Ça a l'air sympa, mais en pratique c'est extrêmement difficile à mettre en œuvre.Le concept est décrit plus en détail sur le site officiel de l'enseigne honnête.

Termes et concepts communs

UOT - participant à la circulation des marchandises.
CRPT est un centre de développement de technologies de pointe. Entreprise privée, le seul état. entrepreneur du projet de marquage. Il fonctionne sous le régime du partenariat public-privé (PPP). Malheureusement, il n'y a aucune information sur les autres participants à l'appel d'offres pour le projet, ainsi que sur l'appel d'offres lui-même.
TG - groupe de produits. Chaussures, vêtements, pneus, etc.
GTIN - en fait, l'article, en tenant compte de la couleur et de la taille. Publié dans GS1 ou le catalogue national pour chaque importateur ou fabricant pour son produit. Le fabricant ou l'importateur doit d'abord 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 caractères attribué à un élément particulier. Pour les chaussures, il se compose d'un GTIN, d'un numéro de série, d'un code de vérification et d'une queue de chiffrement.
GS1 est une organisation internationale qui émet des GTIN. Egalement compilateurs d'un certain nombre de normes d'étiquetage.
Catalogue national - analogue du GS1, développé par le CRPT.
cryptotail - un analogue d'une signature numérique, confirmant la légalité du CM. Doit être dans le datamatrix sur le timbre. Le stockage sous forme de texte est interdit. Après impression, le timbre doit être enlevé conformément à l'entente avec le CRPT. Aucun cas d'utilisation réel n'est connu.
SCS - poste de gestion des commandes. Le système dans lequel les KM sont commandés pour l'article.
EDI - la gestion électronique des documents.
UKEP — signature électronique qualifiée renforcée.

Termes et concepts dans le cadre de cet article

ЧЗ - un signe honnête.
LK - Espace personnel.
Marquez - code de marquage imprimé.

Le processus est le suivant : premièrement, le participant (UOT) émet une signature électronique (ECES), s'enregistre dans un signe honnête (CHZ), décrit le produit dans le catalogue national ou GS1 et reçoit les GTIN pour le produit. Sur le site de l'enseigne honnête, ces étapes sont décrites en détail, nous ne nous attarderons donc pas dessus.

Commander et recevoir des codes

Après avoir reçu les GTIN, le participant (UOT) commande des codes (KM) dans le système CPS.
Important, mais pas évident.

  1. Vous pouvez demander des codes pour un maximum de 10 GTIN par commande. En principe, une limitation incompréhensible. Un importateur avec 14 000 GTIN doit créer 1400 XNUMX commandes.
  2. Un maximum de 150 000 codes peuvent être demandés en une seule commande.
  3. Il y a une limite de 100 commandes en cours. Autrement dit, pas plus de 100 commandes peuvent être traitées en même temps. S'il y en a plus de 100, l'API commencera à renvoyer une erreur au lieu d'une liste de commandes. La seule façon de corriger cette erreur est de fermer certaines des commandes via l'interface Web. L'API ne fournit pas de paramètre pour afficher partiellement les commandes.
  4. Il y a une limite au nombre de requêtes - pas plus de 10 requêtes par seconde. D'après mes données, cette restriction n'apparaît pas dans les documents, mais elle existe.

De l'expérience personnelle avec les commandes de codes de marquage KM via l'API CMS.

  1. La requête (json lui-même) doit être signée avec une signature GOST. Cela fonctionne avec cryptopro. Nous devons surveiller attentivement que le framework ou la bibliothèque utilisée ne modifie pas le json d'origine pour un seul octet. Dans le cas contraire, la signature cesse immédiatement d'être valable.
  2. Signature de la commande. La commande peut être signée par toute signature de tout client. Si la signature est valide, le système KMS l'acceptera. Lors de l'intégration, il était possible de signer la requête avec la signature d'une autre personne émise sur l'AC de test. Le circuit de combat du CPS a traité l'ordre et a publié les codes. A mon avis, c'est une faille de sécurité. Les développeurs ont réagi au rapport de bogue "nous verrons". J'espère que ça a été corrigé.

    Par conséquent, soyez extrêmement prudent si plusieurs personnes morales travaillent sur un même lieu de travail. visages. Aujourd'hui, le CPS acceptera ces demandes, et demain les demandes seront revérifiées et la moitié des codes seront retirés à cause de la signature de quelqu'un d'autre. Et en principe, formellement, ils auront raison.

  3. La signature automatique des commandes est une fonctionnalité qui n'est plus disponible dans le CMS. Pour son fonctionnement, il était nécessaire de télécharger la partie privée de la clé dans le compte personnel de l'enseigne honnête. C'est un compromis clé. Et selon la législation en vigueur, en cas de compromission d'une signature électronique qualifiée renforcée, le titulaire doit informer son centre de certification (CA) et révoquer l'UKES. Si cette fonctionnalité est renvoyée, assurez-vous soigneusement que la partie privée de la clé ne quitte pas l'ordinateur.
  4. En février, le Centre de Développement des Technologies Avancées (CRPT) a discrètement introduit une limitation du nombre de requêtes à l'API KMS. Pas plus d'une requête par seconde. Puis, de manière tout aussi inattendue et silencieuse, il a levé cette restriction. Par conséquent, je recommande de mettre dans le système la possibilité de limiter le nombre de requêtes à l'API CRPT en cas de rechute. Il existe maintenant des informations sur la limite de 10 requêtes par seconde.
  5. Toujours en février, le comportement de l'API KMS a changé de manière significative sans avertissement. L'API a une requête pour obtenir le statut des commandes. Le statut indiquait les tampons et leur état. Un GTIN = un tampon. Il a également indiqué combien de codes sont disponibles pour recevoir de la mémoire tampon. Un beau jour, tous les tampons comptaient -1. J'ai dû interroger l'état de chaque tampon séparément via une méthode distincte. Au lieu d'une demande, j'ai dû en faire onze.

Structure des codes

Ainsi, les codes sont ordonnés et générés. Ils peuvent être récupérés via api sous forme de texte, en pdf sous forme d'étiquettes pour l'impression et sous forme de fichier csv avec texte.

L'API a déjà été écrite ci-dessus. Quant aux deux autres voies. Initialement, le CPS ne permettait de saisir les codes qu'une seule fois. Et si un fichier pdf était pris, il était alors possible d'obtenir les codes sous forme de texte uniquement en renumérisant tous les datamatrices à partir du pdf. Heureusement, ils ont ajouté la possibilité de récupérer plusieurs fois les codes et ce problème a été résolu. Dans les deux jours, les codes sont toujours disponibles pour un nouveau téléchargement.

Si vous récupérez au format csv, ne l'ouvrez en aucun cas dans excel. Et ne laissez personne. Excel a une fonction de sauvegarde automatique. Au moment de la sauvegarde, Excel peut modifier vos codes de la manière la plus imprévisible. Je recommande d'utiliser notepad ++ pour afficher les codes.

Si vous ouvrez un fichier à partir du CMS dans le bloc-notes ++, vous pouvez voir des lignes comme celle-ci. Le troisième code est invalide (il n'a pas de délimiteurs GS).

DataMatrix ou comment bien étiqueter les chaussures

Les partenaires nous ont donné des codes pour marquer leurs marchandises. À l'œil nu, vous pouvez voir quels fichiers ont été générés à l'aide d'Excel - jusqu'à 5 % des codes étaient invalides.

Je recommande fortement de lire sur normes GS1. La description de la norme contient des réponses à de nombreuses questions sur la formation de DataMatrix.

Le code d'identification est composé du GTIN et du numéro de série. Selon la norme GS1, ils correspondent aux identifiants d'application (UI) 01 et 21. Veuillez noter que les identifiants d'application ne font pas partie du GTIN et du numéro de série. Ils indiquent que l'identifiant d'application (UI) est suivi du GTIN ou du numéro de série. Ceci est particulièrement important lors de la programmation du logiciel POS. Pour remplir la balise 1162, il vous faut exactement le GTIN et le numéro de série, sans identifiants d'application.

Pour les UTD (document de transfert universel) et autres documents, au contraire, le plus souvent un dossier complet avec les identifiants de la demande est nécessaire.

DataMatrix ou comment bien étiqueter les chaussures

La norme GS1 stipule que le GTIN a une longueur fixe de 14 caractères et ne peut être composé que de chiffres. Le numéro de série est de longueur variable et est décrit à la page 155 de la norme. Il existe également un lien vers un tableau avec des symboles qui peuvent être trouvés dans le numéro de série.

Le numéro de série ayant une longueur variable, le séparateur GS indique sa terminaison. 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é.

Vous trouverez plus de détails sur le code de marquage (KM) dans documents officiels.

Pour les chaussures, le numéro de série est fixé à 13 caractères, cependant sa taille peut être modifiée à tout moment. Pour les autres groupes de produits (TG), la longueur du numéro de série peut varier.

Génération DataMatrix

DataMatrix ou comment bien étiqueter les chaussures

L'étape suivante consiste à convertir les données en code DataMatrix. Le décret du gouvernement de la Fédération de Russie 860 spécifie GOST, selon lequel il est nécessaire de former un DataMatrix. De plus, la PPR 860 spécifie l'utilisation obligatoire des identifiants d'application. Notez qu'il n'y a pas de concept "d'identifiants d'application" dans la norme DataMatrix. Ils sont uniquement dans la norme GS-1 DataMatrix. Il s'avère que PPR 860 nécessite implicitement l'utilisation de GS-1 DataMatrix. Heureusement, les normes sont similaires. Différence principale : dans GS-1 DataMatrix, le premier caractère doit être FNC1. Le symbole GS n'a pas à venir en premier dans le DataMatrix, seulement FNC1.

FNC1 ne peut pas simplement être pris et ajouté à la ligne en tant que GS. Il doit être ajouté par le programme qui génère le DataMatrix. Plusieurs Applications mobiles, avec lequel vous pouvez vérifier l'exactitude des codes DataMatrix générés.

Il est important. L'application de signe honnête accepte DataMatrix invalide. Même les codes QR. Le fait que la marque soit reconnue et que les informations sur le produit soient affichées ne signifie pas que le DataMatrix est formé correctement. Même lorsque la crypto-queue a été remplacée, l'application CZ a reconnu la marque et a affiché les données sur le produit.

Plus tard CZ publié explicationcomment générer correctement les codes. En raison du grand nombre de codes d'erreur, ils ont reconnu les codes sans FNC1 comme valides, mais ils recommandent néanmoins de générer un DataMatrix GS-1.

Malheureusement, un pourcentage assez important de datamatrices de partenaires est venu avec des erreurs. Grâce aux éclaircissements de CZ, la question "Est-il possible d'échanger un tel produit après le 1er juillet ou non?" a été complètement résolue. Spoiler - vous pouvez.

imprimer

Faites attention à la façon dont les timbres sont imprimés. Lorsqu'il est imprimé sur une imprimante thermique, le tampon s'estompe rapidement et ce produit ne peut plus être vendu. Un timbre illisible est une violation du PPR 860. Ce qui entraîne la saisie des marchandises, des amendes et la responsabilité pénale.

Utilisez l'impression par transfert thermique. Dans ce cas, le timbre n'est pas tellement sujet à la décoloration. Le matériau de l'étiquette détermine également la sensibilité de la marque aux dommages mécaniques. Si le code n'est pas lisible en raison d'un dommage mécanique, cela équivaut à l'absence d'une marque avec toutes les conséquences qui en découlent.

DataMatrix ou comment bien étiqueter les chaussures

Choisissez une imprimante parmi les 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 le travail d'impression une étiquette à la fois. Il vaut mieux ne pas utiliser de tels programmes.

Travailler avec des documents

Une fois les timbres imprimés et collés, toutes les opérations ultérieures avec eux se font par le biais de documents ou d'un compte personnel d'une marque honnête.

Lorsque vous travaillez avec un grand nombre de codes, vous pouvez créer des fichiers xml contenant les codes requis et télécharger ces fichiers via l'API ou l'interface Web de votre compte personnel.

Le schéma XSD peut être téléchargé dans la section "aide" du LC CZ.

Faites attention aux points suivants.

  1. Les schémas Xsd dans la LC CZ contiennent des erreurs dans la validation du TIN et des restrictions sur la longueur de la ligne. Ce n'est qu'en corrigeant les erreurs que vous pouvez utiliser les schémas. Heureusement, les erreurs sont évidentes, ce n'est donc pas difficile à faire.
  2. Le schéma se compose le plus souvent de deux parties - communes à tous les types de documents et séparées pour un type spécifique. Le schéma général est ajouté par import au schéma spécifique. Les deux schémas se trouvent dans la section d'aide du LC ChZ.
  3. Les règles d'échappement pour CM diffèrent de celles généralement acceptées pour XML, ceci est écrit dans la documentation officielle de CZ, faites attention à cela. Ici ici à la page 4 toutes les règles.
  4. Il ne faut pas essayer de mettre 150 000 codes en circulation dans un seul fichier. Selon des témoins oculaires, plus de 30 000 dossiers sont généralement traités.
  5. Un fichier Xml peut être enveloppé avec une erreur "erreur de validation xml", et cinq minutes plus tard, le même fichier est accepté sans problème.
  6. Si le fichier contient un code qui a déjà été mis en circulation, alors le fichier de mise en circulation ne sera très probablement pas accepté.
  7. Les documents d'expédition et de réception sont utilisés comme solution temporaire. À l'avenir, ils prévoient de les supprimer et de passer à l'UPD conformément au PPR 860.
  8. Mythe environ 60 jours. Il existe une opinion selon laquelle les codes qui ne sont pas mis en circulation "s'épuisent" après 60 jours. Ceci est un mythe, source inconnue. Les codes "s'éteignent" uniquement si vous ne les avez pas récupérés auprès du CPS dans les 60 jours. La durée de vie des codes collectés n'est pas limitée.

Conclusion

Lors du développement de mon application d'étiquetage gratuite BarCodesFX, l'intégration avec l'API KMS a été initialement effectuée. Lorsqu'un signe honnête a changé pour la deuxième fois de manière inattendue la logique de l'API, l'intégration a dû être abandonnée. J'espère qu'à l'avenir, la CZ pourra stabiliser le développement et l'API, car. pour un produit non commercial, il m'est très coûteux de revérifier chaque jour s'il y a eu des changements dans l'API et de l'affiner rapidement.

Lors de la mise en œuvre du marquage, lisez attentivement la documentation réglementaire de votre groupe de produits TG, imprimez correctement le GS1-DataMatrix et préparez-vous à toute modification imprévue de la marque CZ équitable.

Le Fort Alliance a créé un espace d'information (wiki, salles de discussions télégramme, séminaires, webinaires), où vous trouverez des informations utiles et actualisées sur l'étiquetage dans toutes les industries.

Source: habr.com

Ajouter un commentaire