Ga naar inhoud

Rapporten uitbreiden met de QR Pay

Deze documentatie legt uit hoe u een rapport in Business Central kunt uitbreiden met een QR Pay QR-CODE. De QR-code wordt automatisch gegenereerd en toegevoegd tijdens het afdrukken van het rapport of bij het boeken of converteren van een document.

Procedure

Er zijn twee manieren om dit te realiseren:

  1. Aangepaste rapporten:
    In aangepaste rapporten kunt u de benodigde code direct in het rapport integreren.

  2. Standaardrapporten:
    Voor standaardrapporten kunt u een rapportextensie maken die de juiste code implementeert.

Houd er rekening mee dat er verschillen zijn tussen Word-rapporten en RDLC-rapporten waarmee u rekening moet houden bij de implementatie.

Vereisten

Zorg ervoor dat aan de volgende voorwaarden is voldaan voordat u begint:

  • CORE moet in de extensie worden opgenomen.
  • QR Pay moet in de extensie worden opgenomen.
  • QR Pay moet geactiveerd zijn in de relevante module-instellingen.

Meer informatie over het maken van een Word Layout-rapport in Microsoft Business Central.

Meer informatie over het maken van een RDLC Layout-rapport in Microsoft Business Central.

Instellen in QR Pay

Voor een correcte werking moeten de volgende configuraties worden gemaakt voor het gemaakte/uitgebreide rapport in QR Pay:

  • Het rapport-ID en het tabel-ID voor het QR Pay-configuratierecord moeten worden ingesteld.
  • In de QR Pay module-instellingen moeten alle benodigde velden worden geconfigureerd.

Wijzig de Amount-waarde in de QR-codegeneratie

  1. In deze sectie wijzigen we de QR-code Amount met een EventSubscriber.
  2. Maak een nieuw .al-bestand in Visual Studio Code of open een bestaand .al-bestand.
  3. Voeg de volgende code toe aan het geopende bestand:

    AL
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"SIM_QRP Generation Mgt", 'OnBeforeCalculateAmountEPC', '', false, false)]
    procedure SubOnBeforeCalculateAmountEPC(ParamRecordRef: RecordRef; var ParamAmountDecimal: Decimal; var ParamIshandledBoolean: Boolean)
    var
        NewValue: Decimal;
    begin
        // Bereken hier de aangepaste Amount-logica
        ParamAmountDecimal := NewValue;
        ParamIshandledBoolean := true;
    end;
    
    4. Gebruik de RecordRef om de nieuwe Amount te berekenen. 5. Stel ParamIshandledBoolean in op true als deze waarde moet worden gebruikt.

Uitbreiden van RDLC-rapporten

  1. In deze sectie voegen we een QR Pay QR-code toe aan een rapport naar keuze.
  2. Maak een nieuw .al-bestand aan in Visual Studio Code of open een bestaand .al-bestand dat het gewenste rapport uitbreidt.
  3. Voeg de volgende code toe aan het geopende bestand:

    AL
    reportextension 5227509 "SIM_QRP Test" extends XXX
    {
        dataset
        {
            add(Header)
            {
                column(SIM_QRPGlobal_Barcode2; GlobalWordRecordSIMCORETempTable."SIM_QRP QR Code")
                { }
                column(SIM_QRPGlobal_BarcodeRDLCText; GlobalBarcodeRDLCText)
                { }
            }
            modify(Header)
            {
                trigger OnAfterAfterGetRecord()
                begin
                    GlobalBarcodeRDLCText := GlobalCodeunitSIMQRPGenerationMgt.FillTempBlobForReport(Header.RecordId, CopyStr(CurrReport.OBJECTID(false), 7), GlobalWordRecordSIMCORETempTable);
                end;
            }
        }
        var
            GlobalWordRecordSIMCORETempTable: Record "SIM_CORE Temp Table";
            GlobalCodeunitSIMQRPGenerationMgt: Codeunit "SIM_QRP Generation Mgt";
            GlobalBarcodeRDLCText: Text;
    }
    
  4. Vervang "XXX" door het ID van het rapport dat u wilt uitbreiden (de rapporten 1306 "Standard Sales - Invoice" en 117 "Reminder" zijn standaard al uitgebreid in QR Pay).

  5. Publiceer de extensie.
  6. Open Rapportlay-outs in Business Central.
  7. Zoek de lay-out die u wilt uitbreiden en klik op "Lay-out bijwerken en downloaden".
  8. Open het gedownloade lay-outbestand.
  9. Voeg een afbeelding toe door "Invoegen" -> "Afbeelding" te selecteren.
  10. Plaats de afbeelding waar u de barcode wilt weergeven.
  11. Klik met de rechtermuisknop op de afbeelding en kies "Afbeeldingseigenschappen".
  12. Pas het volgende aan in het dialoogvenster "Afbeeldingseigenschappen":
    • Algemeen:
      • Naam: Barcode
      • Beeldbron: Database
      • Te gebruiken veld: =System.Convert.FromBase64String(Fields!SIM_QRPGlobal_BarcodeRDLCText.Value)
      • MIME-type: image/bmp
    • Grootte:
      • Weergave: Proportioneel schalen
    • Zichtbaarheid:
      • Expressie: =IsNothing(Fields!SIM_QRPGlobal_BarcodeRDLCText.Value) OR (Globals!PageNumber>1)
  13. Sla het bewerkte .rdl-bestand op.
  14. Ga terug naar Rapportlay-outs in Business Central en voeg de bewerkte lay-out toe:
    • Kies "Nieuw" om een nieuwe lay-out toe te voegen en upload het aangepaste bestand.
    • U kunt ook de bestaande lay-out vervangen door het aangepaste bestand.
  15. Koppel het rapport aan de nieuw aangemaakte lay-out.
  16. Bij het afdrukken van het rapport moet de barcode correct worden weergegeven.

Uitbreiden van Word-rapporten

  1. In deze sectie voegen we een QR Pay QR-code toe aan een rapport naar keuze.
  2. Maak een nieuw .al-bestand aan in Visual Studio Code of open een bestaand .al-bestand dat het gewenste rapport uitbreidt.
  3. Voeg de volgende code toe aan het geopende bestand:

    AL
    reportextension 5227509 "SIM_QRP Test" extends XXX
    {
        dataset
        {
            add(Header)
            {
                column(SIM_QRPGlobal_Barcode2; GlobalWordRecordSIMCORETempTable."SIM_QRP QR Code")
                { }
                column(SIM_QRPGlobal_BarcodeRDLCText; GlobalBarcodeRDLCText)
                { }
            }
            modify(Header)
            {
                trigger OnAfterAfterGetRecord()
                begin
                    GlobalBarcodeRDLCText := GlobalCodeunitSIMQRPGenerationMgt.FillTempBlobForReport(Header.RecordId, CopyStr(CurrReport.OBJECTID(false), 7), GlobalWordRecordSIMCORETempTable);
                end;
            }
        }
        var
            GlobalWordRecordSIMCORETempTable: Record "SIM_CORE Temp Table";
            GlobalCodeunitSIMQRPGenerationMgt: Codeunit "SIM_QRP Generation Mgt";
            GlobalBarcodeRDLCText: Text;
    }
    
  4. Vervang "XXX" door het ID van het rapport dat u wilt uitbreiden (de rapporten 1306 "Standard Sales - Invoice" en 117 "Reminder" zijn standaard al uitgebreid in QR Pay).

  5. Publiceer de extensie.
  6. Open het Word-bestand van het rapport.
  7. Ga naar het tabblad "Ontwikkelaars" in het Word-document en selecteer "XML-toewijzingsvenster".
    1. Klik met de rechtermuisknop op "Global_Barcode".
    2. Selecteer "Inhoudsbesturingselement invoegen" en dan "Afbeelding".
  8. Plaats de afbeelding waar u de barcode in het document wilt laten verschijnen.
  9. Sla het Word-bestand op.
  10. Ga terug naar Business Central en upload het Word-bestand als lay-out.
  11. Koppel de aangepaste lay-out aan het betreffende rapport.
  12. Bij het afdrukken van het rapport wordt de barcode nu weergegeven.