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
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);
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