Código QR

Generar Códigos QR en Crystal Reports

1. Determine la arquitectura (32 bits o 64 bits) de su solución SAP Crystal Reports.
SAP Crystal Reports 2008 / 2011 / 2013 / 2016 son de 32 bits.
SAP Crystal Reports 2020 / 2025 son de 64 bits.

1.1 Si su solución SAP Crystal Reports es de 64 bits, registre el archivo de 64 bits cruflbcs_x64.dll como se muestra a continuación.
Haga clic derecho en el símbolo del sistema (Command Prompt) y ejecútelo como administrador.
qr code command prompt as administrator



Para registrar la DLL de 64 bits, introduzca los siguientes comandos:
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll



1.2 Si su solución SAP Crystal Reports es de 32 bits, registre el archivo de 32 bits cruflbcs.dll como se muestra a continuación.
Introduzca los siguientes comandos para registrar el archivo cruflbcs.dll de 32 bits:
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll

register cruflbcs.dll commands for qr code



Si aparece la siguiente ventana emergente, el registro se ha realizado correctamente.
register cruflbcs.dll succeeded



2. Abra su informe de Crystal. Haga clic derecho en Campos de fórmula (Formula Fields) y elija "Nuevo..." (New...) en el menú contextual. Escriba "qrcode1" en el cuadro de texto del nombre y luego haga clic en "Usar editor" (Use Editor).

qrcode create formula in crystal reports

3. Después del proceso de codificación del código QR, incluso una cadena de texto corta puede devolver más palabras de código de las esperadas. Sin embargo, Crystal Reports no permite más de 254 caracteres en un campo de fórmula. Por lo tanto, debemos dividir las palabras de código de QR Code en diferentes partes y concatenarlas en un Objeto de texto (Text Object) antes de aplicar la fuente BcsQRCode. Para saber cuántos campos de fórmula son necesarios, se utiliza la siguiente función:

BCSQRCodeFormulaNoForCR({Data.Code})

qrcode crystal reports UFL

4. Cree múltiples campos de fórmula como se muestra a continuación si las palabras de código devueltas son superiores a 255 caracteres. Luego, arrástrelos y suéltelos secuencialmente en el mismo Objeto de texto.

qrcode create formula crystal reports

Local stringVar codestr := "QRCode" + Chrw(13) + chrw(10) + {Test.Data};
BCSQRCodeEncodeCR({Test.Data}, 1, 1, 0, 0)

Local stringVar codestr := "QRCode" + Chrw(13) + chrw(10) + {Test.Data};
BCSQRCodeEncodeCR({Test.Data}, 2, 1, 0, 0)

Local stringVar codestr := "QRCode" + Chrw(13) + chrw(10) + {Test.Data};
BCSQRCodeEncodeCR({Test.Data}, 3, 1, 0, 0)

El primer parámetro del campo de fórmula es la cadena de texto a codificar.
El segundo parámetro del campo de fórmula es el índice.
El tercer parámetro del campo de fórmula es el nivel de corrección de errores. Su valor oscila entre 1 y 4, lo que representa por separado L07, M15, Q25 y H30. Cuando se establece con el valor predeterminado 0, corresponde al nivel de corrección de errores M15.

Para los usuarios de códigos QR de Girocode o de la European Payments Council (EPC), configuren las siguientes fórmulas:

str = "BCD" & "&#0a;" & "001" & "&#0a;" & "1" & "&#0a;" & "SCT" & "&#0a;" & "BFSW3E33BER" & "&#0a;" & "Collection folder" & "&#0a;" & "DE33100206000001194701 " & "&#0a;" & "EUR123.45"
BCSQRCodeEncodeCR(str, 1, 1 )
BCSQRCodeEncodeCR(str, 2, 1)
BCSQRCodeEncodeCR(str, 3, 1)

Después de cada sección de datos, añada & "&#0a;". Esto se interpretará como un carácter ASCII 0A.

qrcode crystal reports UFL formula field

Verá códigos hexadecimales en su informe. ¡No se preocupe! Esto se debe a que todavía no ha aplicado la fuente de código de barras QR Code.

5. Haga clic derecho en el Objeto de texto y elija "Formato de objeto" (Format Object) en el menú contextual. A continuación, elija "BcsQRcode" como fuente tipográfica para el Objeto de texto.

QRCode barcode font crystal reports

6. Haga clic en el botón OK. Verá aparecer el código QR en su informe.

QRCode barcode crystal reports

7. Si desea utilizar el código QR GS1 en su informe, utilice la fórmula BCSQRCodeEncodeCRGS1.

BCSQRCodeEncodeCRGS1(str, 1, 0);
BCSQRCodeEncodeCRGS1(str, 2, 0);
BCSQRCodeEncodeCRGS1(str, 3, 0);

El primer parámetro es str. Sus datos deben tener este formato antes de que la DLL cruflbcs.dll los codifique como un código QR GS1: (17)190508(90)50921. Por favor, coloque paréntesis antes y después de cada Identificador de Aplicación (AI). El carácter FNC1 se añadirá automáticamente cuando sea necesario.
El segundo parámetro es el índice de su fórmula.
El tercero es el nivel de corrección de errores.