IDimSelectionSet.EndUpdate

Синтаксис Fore

EndUpdate;

Синтаксис Fore.NET

EndUpdate();

Описание

Метод EndUpdate снимает запрет на выполнение событий.

Комментарии

После вызова метода будут выполнены все события, произведенные в промежуток между вызовами методов IDimSelectionSet.BeginUpdate и IDimSelectionSet.EndUpdate.

Пример Fore

Для выполнения примера в репозитории предполагается наличие куба с идентификатором «CUBE_SEP_PARAMS».

Добавьте ссылки на системные сборки: Cubes, Dimensions, Matrix, Metabase.

Sub UserProc;
Var
    mb: IMetabase;
    cubeinst: ICubeInstance;
    matrix: Imatrix;
    matrixds: IMatrixDataSource;
    dimselectionset: IDimSelectionSet;
    coord: IMatrixCoord;
    i: integer;
Begin
    // Получим репозиторий
    mb := MetabaseClass.Active;
    // Получим куб
    cubeinst := mb.ItemById("CUBE_SEP_PARAMS").Open(NullAs ICubeInstance;
    // Получим место назначения в качестве матрицы
    matrixds := CubeInst.Destinations.DefaultDestination As IMatrixDataSource;
    // Создадим набор отметок для измерений
    dimselectionset := matrixds.CreateDimSelectionSet;
    // Установим запрет на изменение
    dimselectionset.BeginUpdate;
    // В матрице сохраним коллекцию отметок
    matrix := matrixds.Execute(dimselectionset);
    // Создадим координату в матрице
    coord := matrix.CreateCoord;
    // Для всех элементов координаты в измерении изменим значение
    For i := 0 To matrix.DimensionCount - 1 Do
        coord.Item(i) := 0;
    End For;
    // Зададим новое значение для координаты в матрице
    matrix.Item(Coord) := 10;
    // Сохраним изменения в матрице
    matrixds.SaveData(matrix);
    // Применим изменения
    dimselectionset.EndUpdate;
End Sub UserProc;

После выполнения примера на базе куба будет получена матрица. Для координаты матрицы будет изменено значение, после чего измененная матрица будет сохранена обратно в куб.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Matrix;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    cubeinst: ICubeInstance;
    matrix: Imatrix;
    matrixds: IMatrixDataSource;
    dimselectionset: IDimSelectionSet;
    coord: IMatrixCoord;
    i: integer;
Begin
    // Получим репозиторий
    mb := Params.Metabase;
    // Получим куб
    cubeinst := mb.ItemById["CUBE_SEP_PARAMS"].Open(NullAs ICubeInstance;
    // Получим место назначения в качестве матрицы
    matrixds := CubeInst.Destinations.DefaultDestination As IMatrixDataSource;
    // Создадим набор отметок для измерений
    dimselectionset := matrixds.CreateDimSelectionSet();
    // Установим запрет на изменение
    dimselectionset.BeginUpdate();
    // В матрице сохраним коллекцию отметок
    matrix := matrixds.Execute(dimselectionset);
    // Создадим координату в матрице
    coord := matrix.CreateCoord();
    // Для всех элементов координаты в измерении изменим значение
    For i := 0 To matrix.DimensionCount - 1 Do
        coord.Item[i] := 0;
    End For;
    // Зададим новое значение для координаты в матрице
    matrix.Item[Coord] := 10;
    // Сохраним изменения в матрице
    matrixds.SaveData(matrix);
    // Применим изменения
    dimselectionset.EndUpdate();
End Sub;

См. также:

IDimSelectionSet