Вызов диалога импорта данных в куб.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующее значение:
Тип значения | Описание |
IMetabaseObjectCreateInfo | Описание объекта репозитория, который будет соответствовать создаваемому кубу. |
При выполнении команды будет выведен диалог выбора файла с данными. Для выбора доступны файлы следующих форматов: XLS, XLSX, TXT, CSV. После выбора файла и выполнения всех этапов настройки импорта данных в репозитории будут созданы все необходимые таблицы и стандартный куб.
Если в свойстве Data не указано описание создаваемого куба, то на последней стадии диалога будет выдан диалог выбора объекта репозитория, в который будет сохранен куб.
Результатом выполнения метода Execute будет созданный стандартный куб, открытый на редактирование.
Для выполнения примера предполагается наличие формы и расположенной на ней кнопки с наименованием "Button1". В репозитории имеется папка с идентификатором «F_Cubes», в которой хранятся кубы.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
CommandTarget: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Begin
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.Permanent := True;
CrInfo.Parent := MB.ItemById("F_Cubes");
CrInfo.Id := "New_Cube";
CrInfo.Name := "Стандартный куб";
CommandTarget := WinApplication.Instance.GetPluginTarget("Cubes");
Context := CommandTarget.CreateExecutionContext;
Context.Data := CrInfo;
CommandTarget.Execute("LoadCubes", Context);
End Sub Button1OnClick;
При нажатии на кнопку будет выведен диалог импорта данных в куб. После выбора файла с данными и настройки параметров импорта куб будет сохранен в указанной папке с указанными идентификатором и наименованием.
Для выполнения примера предполагается наличие формы и расположенной на ней кнопки с наименованием "Button1". В репозитории имеется папка с идентификатором «F_Cubes», в которой хранятся кубы.
Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Ui;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
WinAppCls: WinApplicationClassClass = New WinApplicationClassClass();
Begin
MB := Self.Metabase;
CrInfo := MB.CreateCreateInfo();
CrInfo.Permanent := True;
CrInfo.Parent := MB.ItemById["F_Cubes"];
CrInfo.Id := "New_Cube";
CrInfo.Name := "Стандартный куб";
Target := WinAppCls.Instance[Null].GetPluginTarget("Cubes");
Context := Target.CreateExecutionContext();
Context.Data := CrInfo;
Target.Execute("LoadCubes", Context, Null);
End Sub;
При нажатии на кнопку будет выведен диалог импорта данных в куб. После выбора файла с данными и настройки параметров импорта куб будет сохранен в указанной папке с указанными идентификатором и наименованием.
См. также: