Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Xgs1 : décoder un code-barres GS1

0000003275     -      04/02/2025

Un code-barres GS1 contient différents champs correspondant à des AI (Application Identifier). Ils correspondent à des données distinctes relatives à un produit. Par exemple, 

  • Code EAN du produit - GTIN
  • SSCC
  • N° de lot
  • Date de péremption
  • Poids
  • Dimensions
  • Numéro de shipping
  • ...

Dans l'information lisible du code-barres, ces AI sont repris entre parenthèses.

Fonction : xGs1

Zoom
public static Dictionary<GS1.AII, string> XGs1(string code, char groupCharSeparator = (char)29, bool hasCheckSum = false);      

Renvoi : un dictionnaire dont la clé et la valeur sont définis comme suit :

  •  Clé du dictionnaire : GS1.AII : classe donnant la définition du champ. Cette classe contient :
    • AI : application identifier
    • Description
    • LengthOfAI
    • DataDescription
    • LengthOfData
    • FNC1 : vaut true pour indiquer si l'information à une longueur variable et est délimitée par le caractère FNC1
  • Valeur dans le dictionnaire : la valeur de ce champ lue dans le code-barres

Paramètres :

  • code : le GS1 complet
  • groupCharSeparator : optionnel. Par défaut, le code ASCII 29 correspondant à FNC1. Si ce code est remplacé par un autre caractère, ce paramètre permet de définir ce caractère de substitution. Dans l'environnement Windows, le caractère FNC1 est souvent difficile à traiter. Il est alors recommandé de programmer le lecteur de code-barres pour le substituer par un autre caractère. Par exemple |. Ce caractère sera alors passé sous la forme groupCharSeparator: '|'
  • hasCheckSum : indique si le code-barres se termine par un checksum.

Exemple : MercatorController.xFunctions.XGs1(e.OriginalKey, groupCharSeparator: '|', hasCheckSum: false);


Zoom
public static string XGs1(string code, string data, char groupCharSeparator = (char)29, bool hasCheckSum = false);

Renvoi : valeur d'un champ du code-barres GS1 (chaîne de caractères)

Paramètres :

  • code : le GS1 complet
  • data : Application Identifier (00, 01, ..)
  • groupCharSeparator : voir ci-dessus
  • hasCheckSum : voir ci-dessus