Une valeur source contient un libellé et un candidat continu attendu de 8 ou de 12 à 14 chiffres ASCII. Il faut le conserver comme texte, préserver le zéro initial et ne pas extraire une partie d’une suite de chiffres plus longue.
Dans Transformations, ajoutez deux règles dans cet ordre : d’abord Pas une expression régulière avec le motif de protection → Ne pas exporter le champ, puis Expression régulière avec le motif d’extraction → Tout supprimer sauf. La première règle vide une valeur non conforme ; la seconde conserve le premier candidat correspondant.
Comment le faire dans Eofferix
Ouvrez les paramètres de la colonne ou du nœud de sortie. Le nom
barcoden’est qu’un exemple : votre champ peut porter un autre nom. Conservez le résultat comme texte afin de préserver le zéro initial.Dans Transformations, ajoutez la règle de protection : Valeur actuelle → Pas une expression régulière avec
(^|[^0-9])(?:[0-9]{12,14}|[0-9]{8})([^0-9]|$)→ Ne pas exporter le champ.Juste après, ajoutez la règle d’extraction : Valeur actuelle → Expression régulière avec
(?:[0-9]{12,14}|[0-9]{8})→ Tout supprimer sauf. N’inversez pas l’ordre des deux règles.
La règle supérieure vide une valeur sans candidat autorisé ; la règle inférieure conserve le premier candidat d’une longueur admise. Appliquez les règles et vérifiez les exemples ci-dessous dans l’aperçu. Lancez ensuite un petit export de test et ouvrez le fichier obtenu : les valeurs non conformes doivent être vides et les valeurs conformes doivent correspondre au premier candidat trouvé.
Résultat attendu
| Valeur source | Résultat | Pourquoi |
|---|---|---|
EAN: 4006381333931 | 4006381333931 | Un candidat distinct de 13 chiffres est trouvé. |
barcode 012345678905 | 012345678905 | Les 12 chiffres restent du texte, y compris le zéro initial. |
code 12345678 | 12345678 | Un candidat de 8 chiffres est admis. |
12345678901234 | 12345678901234 | Un candidat de 14 chiffres est admis. |
123456789012345 | vide | Il ne faut pas extraire 14 chiffres d’une suite de chiffres plus longue. |
ABC-12X34 | vide | Il n’existe aucun candidat continu d’une longueur admise. |
first 12345678 second 4006381333931 | 12345678 | Si plusieurs candidats correspondent, le premier est conservé. |
Contrôles avant l’export
- Les deux motifs utilisent les chiffres ASCII
[0-9]et n’acceptent que 8 chiffres ou de 12 à 14 chiffres. - Les chiffres du candidat doivent être contigus. Si un fournisseur insère des espaces ou des tirets dans le code, ajoutez une normalisation séparée et testez de nouveau les cas limites.
- Si plusieurs candidats correspondent, Tout supprimer sauf conserve le premier.
- Cette méthode vérifie uniquement le format et la longueur. Elle ne vérifie pas le chiffre de contrôle EAN/UPC/GTIN et ne confirme pas qu’un produit portant ce code existe.