Über die Codeunit NCE Connector können Excel-Auswertungen auch von anderen Erweiterungen bzw. von anderen Stellen aus aufgerufen bzw. eingebunden werden.
Aktuell stehen 3 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.
ExecuteEvaluation - arbeitet im Prinzip wie die Aktion Ausführen.
Hinweis
Beim Aufruf einer Auswertung über DownloadEvaluation oder GetEvaluation wird dem Benutzer keine Bestätigungs-Seite und auch keine Filter-Seite 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.
Beim Aufruf über die Funktion ExecuteEvaluation, kann die Filterart über TempNCEConnectorTableFilter."Filter Type" eingestellt werden.
Weitere Informationen dazu finden Sie unter Auswertungen bearbeiten, Datenblätter, Tabelleneinstellungen.
Hinweis
Wenn es Überschneidungen mit den in der Excel-Auswertung angegebenen Filtern gibt, werden diese überschrieben.
Werden Filter für eine Tabelle übergeben, die in der Excel-Auswertung öfter vorkommt, werden die Filter für alle Tabellen gesetzt.