Générer un code-barres Data Matrix dans Crystal Reports
Comment générer un code-barres Data Matrix dans Crystal Reports ?
Pour générer un code-barres Data Matrix dans Crystal Reports, créez un nouveau champ de formule en utilisant la fonction BCSDataMatrixEncodeCR de la bibliothèque UFL Barcodesoft. Passez vos champs de base de données en arguments, placez le champ de formule sur votre zone de conception, puis appliquez la police de caractères BcsDataMatrix.
-
Étape 1 : Déterminer l'architecture de SAP Crystal Reports et enregistrer la DLL
Déterminez si votre version de SAP Crystal Reports est en 32 bits ou en 64 bits. SAP Crystal Reports 2008 à 2016 sont des versions 32 bits, tandis que SAP Crystal Reports 2020 et 2025 sont des versions 64 bits.
Pour Crystal Reports 64 bits (2020 / 2025) :
Exécutez l'Invite de commandes en tant qu'administrateur et lancez la commande suivante :
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
Pour Crystal Reports 32 bits (2008–2016) :
Exécutez l'Invite de commandes en tant qu'administrateur et lancez la commande suivante :
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll
-
Étape 2 : Localiser la fonction UFL de Barcodesoft
Dans Crystal Reports, naviguez à travers la hiérarchie de l'explorateur de fonctions : Liste des fonctions ⇒ Fonctions supplémentaires ⇒ UFL COM et .NET (u212com.dll) ⇒ UFL Visual Basic. Double-cliquez sur la fonction BCSDataMatrixEncodeCR.
-
Étape 3 : Créer un nouveau champ de formule
Faites un clic droit sur Champs de formule et choisissez Nouveau... dans le menu contextuel. Nommez votre nouveau champ "BcsDataMatrix1", puis cliquez sur "Utiliser l'éditeur".
Après le processus d'encodage Data Matrix, même une chaîne de caractères courte peut générer beaucoup plus de mots de code que prévu, alors que Crystal Reports n'autorise pas plus de 255 caractères dans un champ de formule. Par conséquent, nous devons diviser les mots de code Data Matrix en plusieurs parties distinctes et les concaténer dans un Objet texte avant d'appliquer la police BcsDataMatrix. Pour savoir combien de champs de formule sont nécessaires, vous pouvez utiliser la fonction suivante :
BCSDatamatrixFormulaNoForCR({Test.Data})
-
Étape 4 : Créer plusieurs champs de formule
Créez plusieurs champs de formule comme indiqué ci-dessous si la valeur renvoyée par BCSDatamatrixFormulaNoForCR({Test.Data}) est supérieure à un. Placez-les ensuite à la suite les uns des autres dans le même Objet texte.
BCSDataMatrixEncodeCR({Test.Data}, 1, 0, 0, 0)
BCSDataMatrixEncodeCR({Test.Data}, 2, 0, 0, 0)
BCSDataMatrixEncodeCR({Test.Data}, 3, 0, 0, 0)
Le premier paramètre du champ de formule est la chaîne de caractères à encoder. Le deuxième paramètre du champ de formule est l'index. Le troisième paramètre de la formule est le format. Ses valeurs varient entre 0 et 30. Lorsqu'il est défini sur zéro, cela signifie que le format est sélectionné automatiquement. Le quatrième paramètre est la méthode d'encodage (Encodation). Ses valeurs varient entre 1 et 6, correspondant respectivement aux encodages suivants : ASCII, C40, TEXT, X12, EDIFACT, BASE256. Le cinquième paramètre est l'indicateur GS1. Il s'agit d'un booléen indiquant si le code-barres est conforme à la norme GS1. Définissez-le sur zéro lorsqu'il ne s'agit pas d'un format GS1-datamatrix conforme.
-
Étape 5 : Insérer un objet texte dans votre rapport
Glissez-déposez tous vos champs de formule dans cet objet texte, les uns après les autres. Vous verrez apparaître des codes hexadécimaux dans votre rapport. Ne vous inquiétez pas ! Vous n'avez pas encore appliqué la police de caractères BCSDatamatrix.
-
Étape 6 : Appliquer la police de caractères BcsDatamatrix
Faites un clic droit sur l'Objet texte et choisissez "Mettre en forme l'objet" dans le menu contextuel. Sélectionnez ensuite "BcsDatamatrix" comme police.
-
Étape 7 : Le code Data Matrix est créé dans votre Crystal Report
Cliquez sur le bouton OK. Vous obtiendrez ainsi le code-barres Data Matrix dans votre rapport.