Aller au contenu

Extension des Rapports avec le Code-barres Document Inbound

Cette documentation explique comment étendre un rapport dans Business Central avec un Code-barres Document Inbound. Le code-barres est généré et ajouté automatiquement lors de l'impression du rapport ou lors de l'enregistrement ou de la conversion d'un document.

Procédure

Il existe deux approches pour y parvenir :

  1. Rapports personnalisés :
    Dans les rapports personnalisés, vous pouvez intégrer directement le code nécessaire dans le rapport.

  2. Rapports standard :
    Pour les rapports standard, vous pouvez créer une extension de rapport qui implémente le code nécessaire.

Notez qu'il existe des différences entre les rapports Word et les rapports RDLC qui doivent être prises en compte lors de la mise en œuvre.

Prérequis

Avant de commencer, assurez-vous que les prérequis suivants sont remplis :

  • CORE doit être référencé dans l'extension.
  • Document Central doit être référencé dans l'extension.
  • Document Inbound doit être référencé dans l'extension.
  • Document Central doit être correctement licencié.
  • Document Central et Document Inbound doivent être activés dans l'installation du module correspondant.

En savoir plus sur la création d'un rapport avec une mise en page Word dans Microsoft Business Central.

En savoir plus sur la création d'un rapport avec une mise en page RDLC dans Microsoft Business Central.

Configuration dans Document Central

Pour garantir le bon fonctionnement, les configurations suivantes doivent être effectuées pour le rapport créé/étendu dans Document Central:

  • Une série de numéros pour le code-barres doit être configurée dans le mapping. Le mapping doit être basé sur le tableau du rapport.
  • Dans la Configuration du Rapport, les points suivants doivent être pris en compte :
  • Un Type de Contenu de Code-barres doit être défini.
  • L'Impression des Codes-barres doit être activée.

Extension des Rapports RDLC

  1. Dans cette section, nous ajouterons un code-barres Document Inbound à un rapport de votre choix.
  2. Créez un nouveau fichier .al dans Visual Studio Code ou ouvrez un fichier .al existant qui étend le rapport souhaité.
  3. Ajoutez le code suivant au fichier ouvert :

    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

    L'Enum "LocalEnumSIMDITypeOfBarcodes" définit tous les types de codes-barres compatibles. Pour changer le type de code-barres, sélectionnez simplement la valeur souhaitée de cet Enum.

  4. Remplacez "XXX" par l'ID du rapport que vous souhaitez étendre (par exemple, 1306 pour la Facture de Vente).

  5. Publiez l'extension.
  6. Ouvrez les Mises en page des rapports dans Business Central.
  7. Recherchez la mise en page que vous souhaitez étendre et cliquez sur "Mettre à jour et télécharger la mise en page".
  8. Ouvrez le fichier de mise en page téléchargé.
  9. Ajoutez une image en sélectionnant "Insérer" -> "Image".
  10. Positionnez l'image ajoutée à l'endroit où vous souhaitez que le code-barres apparaisse.
  11. Faites un clic droit sur l'image et sélectionnez "Propriétés de l'image".
  12. Apportez les ajustements suivants dans la boîte de dialogue "Propriétés de l'image" :
    • Général :
      • Nom : Barcode
      • Source de l'image : Base de données
      • Champ à utiliser : =System.Convert.FromBase64String(Fields!Global_Barcode.Value)
      • Type MIME : image/bmp
    • Taille :
      • Afficher : Ajuster proportionnellement
    • Visibilité :
      • Expression : =IsNothing(Fields!Global_Barcode.Value) OR (Globals!PageNumber>1)
  13. Enregistrez le fichier .rdl modifié.
  14. Revenez à Mises en page des rapports dans Business Central et ajoutez la mise en page modifiée :
    • Sélectionnez "Nouveau" pour ajouter une nouvelle mise en page et téléchargez le fichier modifié.
    • Alternativement, vous pouvez remplacer la mise en page existante par le fichier modifié.
  15. Liez le rapport à la mise en page nouvellement créée.
  16. Lorsque vous imprimez le rapport, le code-barres doit être correctement affiché.

Extension des Rapports Word

  1. Dans cette section, nous ajouterons un code-barres Document Inbound à un rapport sélectionné.
  2. Créez un nouveau fichier .al dans Visual Studio Code ou ouvrez un fichier .al existant qui étend le rapport souhaité.
  3. Ajoutez le code suivant au fichier ouvert, ou utilisez alternativement votre propre champ Blob au lieu du champ Blob du registre "SIM_CORE Temp Table". Assurez-vous que le champ a le sous-type "Bitmap" ou n'a pas de sous-type défini.

    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

    L'Enum "LocalEnumSIMDITypeOfBarcodes" définit tous les types de codes-barres compatibles. Pour changer le type de code-barres, sélectionnez simplement la valeur souhaitée de cet Enum.

  4. Remplacez "XXX" par l'ID du rapport que vous souhaitez étendre (par exemple, 1306 pour la Facture de Vente).

  5. Publiez l'extension.
  6. Ouvrez le fichier Word du rapport.
  7. Allez dans l'onglet "Développeur" dans le document Word et sélectionnez "Volet de mappage XML".
    1. Faites un clic droit sur "Global_Barcode".
    2. Sélectionnez "Insérer un élément de contenu" puis "Image".
  8. Positionnez l'image à l'endroit du document où le code-barres doit apparaître.
  9. Enregistrez le fichier Word.
  10. Retournez dans Business Central et téléchargez le fichier Word comme mise en page.
  11. Liez la mise en page modifiée au rapport approprié.
  12. Lors de l'impression de ce rapport, le code-barres sera généré correctement.

Voir aussi