ICubeInstanceDestination.CreateStorage

Синтаксис

CreateStorage([Options: CubeInstanceStorageOptions = 0]): ICubeInstanceStorage;

Параметры

Options - параметр определяющий, режим сохранения данных в куб.

Описание

Метод CreateStorage создает объект, осуществляющий сохранение данных в куб.

Пример

Class CubeCallback: Object, ICubeCallback

Public Sub OnCallback(Argument: ICubeCallbackArgument);

Begin

Debug.WriteLine("Ошибка: " + Argument.Error.Message);

Debug.WriteLine("Идентификатор ошибки: " + Argument.Error.MessageID.ToString);

Debug.WriteLine("Источник: " + Argument.Error.Source);

Argument.IgnoreError := True;

End Sub OnCallback;

Public Function get_Argument: ICubeCallbackArgument;

Begin

Return Null;

End Function get_Argument;

End Class CubeCallback;

 

Sub Main;

Var

MB: IMetabase;

CubInst: ICubeInstance;

Des: ICubeInstanceDestination;

Sels: IDimSelectionSet;

Mat: IMatrix;

Coord: IMatrixCoord;

Sto: ICubeInstanceStorage;

i: Integer;

Begin

MB := MetabaseClass.Active;

CubInst := MB.ItemById("CUBE_1").Open(Null) As ICubeInstance;

Des := CubInst.Destinations.DefaultDestination;

Sels := Des.CreateDimSelectionSet;

For i := 0 To Sels.Count - 1 Do

Sels.Item(i).SelectElement(0, False);

End For;

Mat := Des.Execute(Sels);

Mat.ValueFlag := Mat.ValueFlag + 1;

Sels := Mat.Dimensions;

Coord := Mat.CreateCoord;

For i := 0 To Sels.Count - 1 Do

Coord.Item(i) := 0;

End For;

Mat.Item(Coord) := (Mat.Item(Coord) As Integer) + 1;

Sto := Des.CreateStorage(CubeInstanceStorageOptions.NoCheckDuplicates);

Sto.Callback := New CubeCallback.Create;

Sto.SaveMatrix(Mat, Mat.ValueFlag);

End Sub Main;

После выполнения примера будет получена матрица с данными из куба с идентификатором "CUBE_1". По некоторой координате будет изменено значение, после чего обновленная матрица сохраняется обратно в куб. При сохранении проверка на наличие дубликатов осуществляться не будет. Ошибки, которые могут возникнуть, будут обрабатываться в пользовательском классе "CubeCallback".

См. также:

ICubeInstanceDestination