El CUFE es un numero generado a partir de varios campos que son indicados por Ley. Es requerido que este CUFE sea impreso en forma de codigo de barras. Para esto Binapps ha decidido usar el tipo de codigo de barras Code128 que permite caracterese alfanuméricos. Para implementar el codigo en un reporte personalizado debe realizar los siguientes pasos:
Paso 1
En el servidor de la empresa, se debe implementar la libreria BarcodeLib.dll en la carpeta Bin/ del directorio de Reporting Services. Por defecto esta carpeta se encuentra ubicada en %ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin. Esta ruta puede cambiar dependiendo del nombre de instancia y version del motor de base de datos instalado en el servidor. Para una rápida solución presione Windows+R, y en el ejecutar escriba %ProgramFiles%\Microsoft SQL Server\, e identifique la carpeta que comienza por MSRS y navegue hasta la carpeta Bin/. Allí debe copiar la libreria BarcodeLib.dll adjunta en este documento.
Paso 2
En el reporte personalizado debe agregar la referencia a la libreria BarCodeLib en la sección Referencias:
- Presione en Agregar y copie el siguiente texto: BarcodeLib, Version=1.0.0.19, Culture=neutral, PublicKeyToken=null.
- Presione en Agregar y copie el siguiente texto: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Agregue el codigo personalizado en la sección codigo
Public Function GetBarCode128(Text As String) As Byte() Dim b As System.Drawing.Bitmap ' Dim bar As New BarcodeLib.Barcode bar.Alignment = BarcodeLib.AlignmentPositions.CENTER bar.IncludeLabel = True bar.RotateFlipType = Drawing.RotateFlipType.RotateNoneFlipNone b = bar.Encode(BarcodeLib.TYPE.CODE128, Text, 800,100) Dim bitmapData As Byte() = Nothing Using ms As New System.IO.MemoryStream() b.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp) bitmapData = ms.ToArray() End Using Return bitmapData End Function
Paso 3
Agregue un control de imagen al reporte, y en propiedades defina
- el origen de la imagen: Base de datos
- Usar este campo: indique la siguiente expresión: =Code.GetBarCode128(First(Fields!cufe.Value, "items"))
- Usar este tipo MIME: image/bmp