ShowCalcChaingDialog Command

Purpose

Open a calculation chain standard dialog box to organize order of the model calculation.

Parameters of Use

Parameter

Description
IEaxAnalyzer The express report, for which it is necessary to organize model calculation order.
IEaxDataAreaSlice Analytical data area slice.

All parameters are mandatory.

Application Features

The command can be used only for express reports.

Fore Example

Executing the example requires a form with the Button1 button, the UiErAnalyzer component named UiErAnalyzer1 and the TabSheetBox component named TabSheetBox1. UiErAnalyzer1 is connected to an express report with a calculated element. UiErAnalyzer must be connected as a data source for TabSheetBox.

Add links to the Express, Tab, and Ui system assemblies.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Express: IEaxAnalyzer;
    Data: Array;
    Grid: IEaxGrid;
    Slice: IEaxDataAreaSlice;
    Context: IUiCommandExecutionContext;
    Target: IUiCommandTarget;
Begin
    //Get express report
    Express := UiErAnalyzer1.ErAnalyzer;
    //Get express report table
    Grid := Express.Grid;
    //Get data slice
    Slice := Grid.Slice;
    //Specify required array elements
    Data := New Variant[2];
    Data[0] := Express;
    Data[1] := Slice;
    //Open obtained express report for edit
    Target := WinApplication.Instance.GetPluginTarget("Express");
    Context := Target.CreateExecutionContext;
    Context.Data := Data;
    Target.Execute("ShowCalcChainDialog", Context);
End Sub Button1OnClick;

As a result, clicking the Button1 button displays calculation chain dialog box:

Fore.NET Example

The requirements and result of the Fore.NET example execution match with those in the Fore example. Use Fore.NET analogs instead of Fore components.

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Ui;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Express: IEaxAnalyzer;
    Data: Array;
    Grid: IEaxGrid;
    Slice: IEaxDataAreaSlice;
    Context: IUiCommandExecutionContext;
    Target: IUiCommandTarget;
    WinApp: WinApplication = New WinApplicationClass_2();
Begin
    Express := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
    Grid := Express.Grid;
    Slice := grid.Slice;
    Data := New Object[2];
    Data[0] := Express;
    Data[1] := Slice;
    Target := WinApp.GetPluginTarget("Express");
    Context := Target.CreateExecutionContext();
    Context.Data := Data;
    Target.Execute("ShowCalcChainDialog", Context, Null);
End Sub;

See also:

IUiCommandTarget.Execute