| Docs Help
  AppSource  
Docs  /  fiskaltrust POS Interface  /  Appendix

 Information for Developers


2024/02/01 • 3 min. to read

QR Codes

The QR Codes are generated via a function from the NAVAX Extension Base. For more information, see [Docs] NAVAX Extension Base - Information for Developers, QR Codes Via the OnBeforeCreateQRCode event in Codeunit "NCCR QR Code Mgt." another solution can be integrated.

Reports

By default, cash register data is integrated into the following reports via reportextensions:
Report IDReport Name
1306Sales - Invoice
1307Sales - Credit Memo
5911Service - Invoice
5912Service - Credit Memo
Through custom programming, the cash register data can also be integrated into other reports based on the same posted tables. The following example serves as a template or guide for integration in other reports and shows how the Cash Register is integrated in Report 1306 "Standard Sales - Invoice". Code and layout of the example can be downloaded here: NCCRStandardSalesInvoice_20231219.zip

Note

The fiskaltrust POS Interface was developed with the prefix "NCCR". NCCR stands for NAVAX Consulting Cash Register.

reportextension

reportextension 70167825 "NCCR Standard Sales - Invoice" extends "Standard Sales - Invoice"
{
    dataset
    {
        add(Header)
        {
            column(NCCRDataExists; NCCRReportDataMgt.GetSalesInvoiceNCCRData(Header))
            {
            }
            column(NCCRPosting; Header."NCCR Posting")
            {
            }
            column(NCCRHeader; NCCRReportDataMgt.GetTempNCCRHeader())
            {
            }
            column(NCCRFooter; NCCRReportDataMgt.GetTempNCCRFooter())
            {
            }
            column(NCCRPaymentAmount; NCCRReportDataMgt.GetNCCRPaymentAmount())
            {
                AutoFormatExpression = Header."Currency Code";
            }
            column(NCCRPaymentAmountText; NCCRReportDataMgt.GetNCCRPaymentAmountText())
            {
            }
            column(NCCRPaymentDiscountAmount; NCCRReportDataMgt.GetNCCRPaymentDiscountAmount())
            {
                AutoFormatExpression = Header."Currency Code";
            }
            column(NCCRPaymentDiscountAmountText; NCCRReportDataMgt.GetNCCRPaymentDiscountAmountText())
            {
            }
        }

        addafter(Line)
        {
            dataitem(NCCRQRCode; Integer)
            {
                DataItemTableView = sorting(Number);

                column(NCCRQRNumber; Number)
                {
                }
                column(NCCRQRText; TempSignatureNCCREntryDocumentData.GetData())
                {
                }
                column(NCCRQRImage; TempSignatureNCCREntryDocumentData."QR Code")
                {
                }
                column(NCCRQRImageHasValue; TempSignatureNCCREntryDocumentData."QR Code".HasValue())
                {
                }
                column(NCCRQRSize; Format(TempSignatureNCCREntryDocumentData."QR Code Size", 0, 2))
                {
                }

                trigger OnPreDataItem()
                begin
                    NCCRReportDataMgt.GetTempSignatureNCCREntryDocumentData(TempSignatureNCCREntryDocumentData);
                    SetRange(Number, 1, TempSignatureNCCREntryDocumentData.Count());
                end;

                trigger OnAfterGetRecord()
                begin
                    if (Number = 1) then
                        TempSignatureNCCREntryDocumentData.Find('-')
                    else
                        TempSignatureNCCREntryDocumentData.Next();
                    TempSignatureNCCREntryDocumentData.CalcFields("QR Code");
                end;
            }
        }
    }

    rendering
    {
        layout("NCCR Default Layout")
        {
            Type = RDLC;
            LayoutFile = './src/reportext/NCCRStandardSalesInvoice.rdlc';
            Caption = 'Cash Register Default Layout', Comment = 'DEU="Registrierkasse Standardlayout"';
        }
    }

    var
        TempSignatureNCCREntryDocumentData: Record "NCCR Entry Document Data" temporary;
        NCCRReportDataMgt: Codeunit "NCCR Report Data Mgt.";
}

Layout

All layout changes required for the Cash Register can be found at the end of the report: To integrate the cash register data or these layout changes into another report, proceed as follows:
  1. Download the sample files using the link earlier in this topic.
  2. Open the NCCRStandardSalesInvoice.rdlc file.

    Tip

    Change the file extension to .rdl if you cannot edit .rdlc files.
  3. The cash register data or layout changes are composed of the 4 sub-areas NCCRHeaderTable, NCCRPaymentTable, NCCRQRTable and NCCRFooterTable. Select all 4 areas from NCCRHeader to NCCRFooter: When all 4 areas are selected, 4 move icons should be displayed:

  4. Copy the selected area.
  5. Open the layout of the report into which the layout changes are to be integrated.
  6. Create enough space at the end of the report and insert the changes.


Submit feedback for
DE|EN Imprint
<>