IPrxDataIslandDimensionLayout.Build

Синтаксис Fore

Build(Selection: IDimSelection);

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

Build(Selection: Prognoz.Platform.Interop.Dimensions.IDimSelection);

Параметры

Selection. Отметка в измерении.

Описание

Метод Build добавляет в произвольное размещение элементы, соответствующие отмеченным элементам измерения.

Комментарии

В зависимости от комбинаций значений свойств PreserveDimensionElementsOrder и MergeWithSelection метод Build работает следующим образом:

PreserveDimensionElementsOrder

MergeWithSelection

Действие метода Build

False

False

Отсутствует.

False

True

Добавляет элементы отметки, отсутствующие в произвольном размещении.

True

False

Восстанавливает порядок для уже существующих элементов произвольного размещения.

True

True

Восстанавливает порядок для уже существующих элементов произвольного размещения, попутно добавляя элементы отметки, отсутствующие в произвольном размещении.

Пример Fore

Для выполнения примера понадобится регламентный отчёт с идентификатором REPORT. В этом отчёте должна присутствовать область данных, содержащая в себе срез с измерением, которое имеет идентификатор DIMENSION.

Sub UserProc;
Var
    MB: IMetabase;
    Report: IPrxReport;
    DataIsland: IPrxDataIsland;
    DimS: IPrxSliceDimension;
    Dim: IPrxDataIslandDimension;
Begin
    MB := MetabaseClass.Active;
    Report := MB.ItemById(
"REPORT").Edit As IPrxReport;
    DataIsland := Report.DataIslands.Item(
0).Edit;
        DimS := DataIsland.Slice.Dimensions.FindById(
"DIMENSION"As IPrxSliceDimension;
        Dim := DataIsland.Properties.Dimension(DimS.Dimension.Dimension);
        Dim.CustomLayout := 
True;
        Dim.Layout.MergeWithSelection := 
True;
        Dim.Layout.Build(DimS.Selection);
        Dim.Layout.Save;
    DataIsland.Save;
    (Report 
As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера для измерения с идентификатором DIMENSION будет настроено произвольное размещение с добавлением в него всех элементов отметки измерения. После этого отчёт со всеми изменениями будет сохранён.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Dimensions;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Report: IPrxReport;
    DataIsland: IPrxDataIsland;
    DimS: IPrxSliceDimension;
    Dim: IPrxDataIslandDimension;
Begin
    MB := Params.Metabase;
    Report := MB.ItemById["REPORT"].Edit() As IPrxReport;
    DataIsland := Report.DataIslands.Item[0].Edit();
        DimS := DataIsland.Slice.Dimensions.FindById("DIMENSION"As IPrxSliceDimension;
        Dim := DataIsland.Properties.Dimension[DimS.Dimension.Dimension];
        Dim.CustomLayout := True;
        Dim.Layout.MergeWithSelection := True;
        Dim.Layout.Build(DimS.Selection);
        Dim.Layout.Save();
    DataIsland.Save();
    (Report As IMetabaseObject).Save();
End Sub;

См. также:

IPrxDataIslandDimensionLayout