Saltar al contenido

Ampliación de informes con el Document Inbound Barcode

En esta documentación aprenderá cómo ampliar un informe en Business Central con un Document Inbound Barcode. El código de barras se genera y se añade automáticamente durante la impresión del informe o al contabilizar o convertir un documento.

Procedimiento

Hay dos enfoques para lograr esto:

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

  2. Informes estándar:
    Para informes estándar, existe la opción de crear una extensión de informe que implemente el código correspondiente.

Tenga en cuenta que hay diferencias entre informes de Word e informes RDLC que deben tenerse en cuenta al implementar.

Requisitos

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

  • 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 de diseño de Word en Microsoft Business Central.

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

Configuración en Document Central

Para asegurar la funcionalidad correcta, se deben realizar las siguientes configuraciones para el informe creado/ampliado en Document Central:

  • Se debe configurar una serie de números para el código de barras en el mapeo. El mapeo 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 activar la impresión de código de barras.

Ampliación de informes RDLC

  1. En esta sección, añadiremos un Document Inbound Barcode a un informe de su elección.
  2. Cree un nuevo archivo .al en Visual Studio Code o abra un archivo .al existente que amplíe el informe deseado.
  3. Inserte el siguiente código en el 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

    En el Enum "LocalEnumSIMDITypeOfBarcodes" están definidos todos los tipos de código de barras soportados. 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 ampliar (por ejemplo, 1306 para el documento de venta).

  5. Publique la extensión.
  6. Abra los diseños de informes en Business Central.
  7. Busque el diseño que desea ampliar 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. Coloque la imagen añadida en el lugar deseado donde debe aparecer 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
      • Origen de la imagen: Base de datos
      • Usar campo: =System.Convert.FromBase64String(Fields!Global_Barcode.Value)
      • Usar 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 los diseños de informes en Business Central y añada el diseño editado:
    • Seleccione "Nuevo" para agregar un nuevo diseño y cargue el archivo revisado.
    • Alternativamente, puede reemplazar el diseño existente con el archivo editado.
  15. Vincule el informe con el nuevo diseño creado.
  16. Al imprimir el informe, el código de barras debería mostrarse correctamente.

Ampliación de informes de Word

  1. En esta sección, añadiremos un Document Inbound Barcode a un informe seleccionado.
  2. Cree un nuevo archivo .al en Visual Studio Code o abra un archivo .al existente que amplíe el informe deseado.
  3. Inserte el siguiente código en el archivo abierto, o alternativamente use 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 que no tenga un 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

    En el Enum "LocalEnumSIMDITypeOfBarcodes" están registrados todos los tipos de código de barras soportados. Para ajustar 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 ampliar (por ejemplo, 1306 para el documento de venta).

  5. Publique la extensión.
  6. Abra el archivo de Word del informe.
  7. Navegue en el documento de Word a la pestaña "Desarrollador" y seleccione la opción "Área de asignación XML".
    1. Haga clic a la derecha en "Global_Barcode".
    2. Seleccione "Insertar elemento de contenido" y luego elija "Imagen".
  8. Coloque la imagen en el lugar del documento donde debe mostrarse el código de barras.
  9. Guarde el archivo de Word.
  10. Regrese a Business Central y cargue el archivo de Word como diseño.
  11. Vincule el diseño editado con el informe correspondiente.
  12. Al imprimir este informe, el código de barras se generará ahora.

Véase también