Saltar al contenido

Extensión de Informes con el Código de Barras de Documentos Inbound

Esta documentación explica cómo extender un informe en Business Central con un Código de Barras de Documentos Inbound. El código de barras se genera y se agrega automáticamente durante la impresión del informe o cuando se realiza el registro o la conversión de un documento.

Procedimiento

Existen dos enfoques para lograr esto:

  1. Informes personalizados:
    En los informes personalizados, puede integrar directamente el código necesario en el informe.

  2. Informes estándar:
    Para los informes estándar, puede crear una extensión de informe que implemente el código adecuado.

Tenga en cuenta que existen diferencias entre los informes de Word y los informes RDLC que deben considerarse durante la implementación.

Requisitos

Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos previos:

  • CORE debe estar referenciado en la extensión.
  • Document Central debe estar referenciado en la extensión.
  • Document Inbound debe estar referenciado en la extensión.
  • Document Central debe estar debidamente licenciado.
  • Document Central y Document Inbound deben estar activados en la configuración del módulo correspondiente.

Aprenda más sobre cómo crear un informe con diseño de Word en Microsoft Business Central.

Aprenda más sobre cómo crear un informe con diseño RDLC en Microsoft Business Central.

Configuración en Document Central

Para garantizar un funcionamiento correcto, deben realizarse las siguientes configuraciones para el informe creado/ampliado en Document Central:

  • En el mapeo debe establecerse una serie numérica para el código de barras. La asignación debe basarse en la tabla del informe.
  • En la Configuración del Informe, se deben tener en cuenta los siguientes puntos:
  • Se debe definir un Tipo de Contenido de Código de Barras.
  • Se debe habilitar la Impresión de Códigos de Barras.

Extensión de Informes RDLC

  1. En esta sección, agregaremos un código de barras de Document Inbound a un informe de su elección.
  2. Cree un nuevo archivo .al en Visual Studio Code o abra un archivo .al existente que extienda el informe deseado.
  3. Agregue el siguiente código al archivo abierto:

    AL
    reportextension 5227509 "DMSDI_EXT Test" extends XXX
    {
        dataset
        {
            add(Header)
            {
                column(Global_Barcode; GlobalBarcode)
                { }
            }
            modify(Header)
            {
                trigger OnAfterAfterGetRecord()
                var
                    LocalSIMDIBarcodeMgt: Codeunit "SIM_DI Barcode Management";
                    LocalCodeunitSIMDMSSI: Codeunit "SIM_DMS SI";
                    LocalEnumSIMDITypeOfBarcodes: Enum "SIM_DI Type of Barcodes";
                    LocalRRef: RecordRef;
                    LocalBarcodeText: Text;
                begin
                    if LocalCodeunitSIMDMSSI.GetPdfPrint() then
                        exit;
    
                    LocalRRef.Get(Header.RecordId());
                    LocalBarcodeText := LocalSIMDIBarcodeMgt.CreateBarcode(LocalRRef, Header."No.", '', XXX, false);
                    GlobalBarcode := LocalSIMDIBarcodeMgt.CreateLabel(LocalBarcodeText, 250, 600, true, Format(LocalEnumSIMDITypeOfBarcodes::Code128), 'PNG');
                end;
            }
        }
        var
            GlobalBarcode: Text;
    }
    

    Info

    El Enum "LocalEnumSIMDITypeOfBarcodes" define todos los tipos de códigos de barras compatibles. Para cambiar el tipo de código de barras, simplemente seleccione el valor deseado de este Enum.

  4. Reemplace "XXX" con la ID del informe que desea extender (por ejemplo, 1306 para la Factura de Venta).

  5. Publique la extensión.
  6. Abra los Diseños de Informes en Business Central.
  7. Busque el diseño que desea extender y haga clic en "Actualizar y Descargar Diseño".
  8. Abra el archivo de diseño descargado.
  9. Agregue una imagen seleccionando "Insertar" -> "Imagen".
  10. Posicione la imagen agregada donde desee que aparezca el código de barras.
  11. Haga clic derecho en la imagen y seleccione "Propiedades de la Imagen".
  12. Realice los siguientes ajustes en el cuadro de diálogo "Propiedades de la Imagen":
    • General:
      • Nombre: Barcode
      • Fuente de Imagen: Base de Datos
      • Campo a Usar: =System.Convert.FromBase64String(Fields!Global_Barcode.Value)
      • Tipo MIME: image/bmp
    • Tamaño:
      • Mostrar: Ajustar proporcionalmente
    • Visibilidad:
      • Expresión: =IsNothing(Fields!Global_Barcode.Value) OR (Globals!PageNumber>1)
  13. Guarde el archivo .rdl editado.
  14. Regrese a Diseños de Informes en Business Central y agregue el diseño editado:
    • Seleccione "Nuevo" para agregar un nuevo diseño y cargue el archivo editado.
    • Alternativamente, puede reemplazar el diseño existente con el archivo editado.
  15. Enlace el informe con el diseño recién creado.
  16. Cuando imprima el informe, el código de barras debería aparecer correctamente.

Extensión de Informes Word

  1. En esta sección, agregaremos un código de barras de Document Inbound a un informe seleccionado.
  2. Cree un nuevo archivo .al en Visual Studio Code o abra un archivo .al existente que extienda el informe deseado.
  3. Agregue el siguiente código al archivo abierto, o alternativamente, utilice su propio campo Blob en lugar del campo Blob del registro "SIM_CORE Temp Table". Asegúrese de que el campo tenga el subtipo "Bitmap" o no tenga ningún subtipo definido.

    AL
    reportextension 5227509 "DMSDI_EXT Test" extends XXX
    {
        dataset
        {
            add(Header)
            {
                column(Global_Barcode; GlobalRecordSIMCORETempTable."Blob 1")
                { }
            }
            modify(Header)
            {
                trigger OnAfterAfterGetRecord()
                var
                    LocalSIMDIBarcodeMgt: Codeunit "SIM_DI Barcode Management";
                    LocalCodeunitBase64Convert: Codeunit "Base64 Convert";
                    LocalCodeunitSIMDMSSI: Codeunit "SIM_DMS SI";
                    LocalRecordRef: RecordRef;
                    LocalEnumSIMDITypeOfBarcodes: Enum "SIM_DI Type of Barcodes";
                    LocalOutStream: OutStream;
                    LocalBarcodeText: Text;
                    LocalBarcodeBase64Text: Text;
                begin
                    if LocalCodeunitSIMDMSSI.GetPdfPrint() then
                        exit;
    
                    LocalRecordRef.Get(Header.RecordId());
                    LocalBarcodeText := LocalSIMDIBarcodeMgt.CreateBarcode(LocalRecordRef, Header."No.", '', XXX, false);
                    LocalBarcodeBase64Text := LocalSIMDIBarcodeMgt.CreateLabel(LocalBarcodeText, 250, 600, true, Format(LocalEnumSIMDITypeOfBarcodes::Code128, 'PNG');
                    GlobalRecordSIMCORETempTable."Blob 1".CreateOutStream(LocalOutStream);
                    LocalCodeunitBase64Convert.FromBase64(LocalBarcodeBase64Text, LocalOutStream);
                end;
            }
        }
        var
            GlobalRecordSIMCORETempTable: Record "SIM_CORE Temp Table";
    }
    

    Info

    El Enum "LocalEnumSIMDITypeOfBarcodes" define todos los tipos de códigos de barras compatibles. Para cambiar el tipo de código de barras, simplemente seleccione el valor deseado de este Enum.

  4. Reemplace "XXX" con la ID del informe que desea extender (por ejemplo, 1306 para la Factura de Venta).

  5. Publique la extensión.
  6. Abra el archivo Word del informe.
  7. Navegue a la pestaña "Desarrollador" en el documento de Word y seleccione "Panel de Mapeo XML".
    1. Haga clic derecho sobre "Global_Barcode".
    2. Seleccione "Insertar Control de Contenido" y luego "Imagen".
  8. Posicione la imagen donde desee que aparezca el código de barras en el documento.
  9. Guarde el archivo Word.
  10. Regrese a Business Central y cargue el archivo Word como diseño.
  11. Enlace el diseño editado con el informe correspondiente.
  12. Al imprimir este informe, el código de barras se generará correctamente.

Véase también