| Docs Hilfe
  AppSource  
Docs  /  Excel Report Builder  /  Informationen für Entwickler

 Connector


2023/12/01 • 3 Min. Lesedauer
Über die Codeunit NCE Connector können Excel-Auswertungen auch von anderen Erweiterungen bzw. von anderen Stellen aus aufgerufen bzw. eingebunden werden. Aktuell stehen 2 Funktionen in mehreren Varianten (bzw. mehrere Überladungen) für den Aufruf einer Auswertung zur Verfügung:
  • DownloadEvaluation - erstellt die Excel-Arbeitsmappe auf Ihrem Gerät.
  • GetEvaluation - arbeitet im Prinzip wie DownloadEvaluation mit dem Unterschied, dass die fertige Excel-Arbeitsmappe nicht heruntergeladen wird, sondern als Temp Blob zurückgeliefert wird. Zusätzlich wird der Dateiname, den der Excel Report Builder für die Arbeitsmappe vergeben würde, zurückgeliefert.

Hinweis

Beim Aufruf einer Auswertung über den Connector werden dem Benutzer keine Fenster (also auch keine Auswertungsfilter) angezeigt.

Beispiel 1

Auf der Seite Debitorenliste (Page 22 "Customer List") soll die Auswertung 'CUST_ONGOING_DOCS' über eine Aktion aufrufbar sein. Die Auswertung soll erstellt und danach heruntergeladen werden.

Implementierung

pageextension 50000 "NVX Customer List" extends "Customer List"
{
    actions
    {
        addfirst(Sales)
        {
            action(NVXCallNCEEvaluationAction)
            {
                ApplicationArea = All;
                Caption = 'Excel Evaluation', Comment = 'DEU="Excel-Auswertung"';
                Image = Start;
                Scope = Repeater;
                ToolTip = 'Executes the CUST_ONGOING_DOCS evaluation. This creates an Excel workbook on your device.', Comment = 'DEU="Führt die CUST_ONGOING_DOCS Auswertung aus. Dadurch wird eine Excel-Arbeitsmappe auf Ihrem Gerät erstellt."';

                trigger OnAction()
                var
                    NCEConnector: Codeunit "NCE Connector";                
                begin
                    NCEConnector.DownloadEvaluation('CUST_ONGOING_DOCS');
                end;
            }
        }
    }
}

Beispiel 2

Dieselbe Anforderung wie in Beispiel 1, aber zusätzlich soll sichergestellt werden, dass die Auswertung die Tabelle "Sales Header" enthält. Alle Änderungen zu Beispiel 1 sind farblich hervorgehoben.

Implementierung

pageextension 50000 "NVX Customer List" extends "Customer List"
{
    actions
    {
        addfirst(Sales)
        {
            action(NVXCallNCEEvaluationAction)
            {
                ApplicationArea = All;
                Caption = 'Excel Evaluation', Comment = 'DEU="Excel-Auswertung"';
                Image = Start;
                Scope = Repeater;
                ToolTip = 'Executes the CUST_ONGOING_DOCS evaluation. This creates an Excel workbook on your device.', Comment = 'DEU="Führt die CUST_ONGOING_DOCS Auswertung aus. Dadurch wird eine Excel-Arbeitsmappe auf Ihrem Gerät erstellt."';

                trigger OnAction()
                var
                    TempNCEConnectorTableFilter: Record "NCE Connector Table Filter" temporary;
                    NCEConnector: Codeunit "NCE Connector";                
                begin
                    Clear(TempNCEConnectorTableFilter);
                    TempNCEConnectorTableFilter."Table No." := Database::"Sales Header";
                    TempNCEConnectorTableFilter.Insert();

                    NCEConnector.DownloadEvaluation('CUST_ONGOING_DOCS', TempNCEConnectorTableFilter);
                end;
            }
        }
    }
}

Beispiel 3

Dieselbe Anforderung wie in Beispiel 1 und 2, aber zusätzlich soll auf Verkaufsangebote, Verkaufsaufträge und auf die aktuelle Debitorennr. gefiltert werden. Alle Änderungen zu Beispiel 2 sind farblich hervorgehoben.

Implementierung

pageextension 50000 "NVX Customer List" extends "Customer List"
{
    actions
    {
        addfirst(Sales)
        {
            action(NVXCallNCEEvaluationAction)
            {
                ApplicationArea = All;
                Caption = 'Excel Evaluation', Comment = 'DEU="Excel-Auswertung"';
                Image = Start;
                Scope = Repeater;
                ToolTip = 'Executes the CUST_ONGOING_DOCS evaluation. This creates an Excel workbook on your device.', Comment = 'DEU="Führt die CUST_ONGOING_DOCS Auswertung aus. Dadurch wird eine Excel-Arbeitsmappe auf Ihrem Gerät erstellt."';

                trigger OnAction()
                var
                    SalesHeader: Record "Sales Header";
                    TempNCEConnectorTableFilter: Record "NCE Connector Table Filter" temporary;
                    NCEConnector: Codeunit "NCE Connector";                
                begin
                    Rec.TestField("No.");

                    Clear(TempNCEConnectorTableFilter);
                    TempNCEConnectorTableFilter."Table No." := Database::"Sales Header";
                    TempNCEConnectorTableFilter."Field No." := SalesHeader.FieldNo("Document Type");
                    TempNCEConnectorTableFilter.Filter := StrSubstNo('%1|%2', SalesHeader."Document Type"::Quote, SalesHeader."Document Type"::Order);
                    TempNCEConnectorTableFilter.Insert();
                    
                    Clear(TempNCEConnectorTableFilter);
                    TempNCEConnectorTableFilter."Table No." := Database::"Sales Header";
                    TempNCEConnectorTableFilter."Field No." := SalesHeader.FieldNo("Sell-to Customer No.");
                    TempNCEConnectorTableFilter.Filter := Rec."No.";
                    TempNCEConnectorTableFilter.Insert();

                    NCEConnector.DownloadEvaluation('CUST_ONGOING_DOCS', TempNCEConnectorTableFilter);
                end;
            }
        }
    }
}

Filter

Filter werden an den NCE Connector über die (temporäre) Tabelle NCE Connector Table Filter übergeben - siehe Beispiel 3. Alle übergebenen Filter überschreiben Filter und Verknüpfungen, welche möglicherweise in der Excel-Auswertung für diese Felder angegeben sind. Weitere Informationen dazu finden Sie unter Auswertungen bearbeiten, Datenblätter, Tabelleneinstellungen. Werden Filter für eine Tabelle übergeben, die in der Excel-Auswertung öfter vorkommt, werden die Filter für alle Tabellen gesetzt.

Siehe auch




Feedback senden für
DE|EN Impressum