Build(Selection: IDimSelection);
Build(Selection: Prognoz.Platform.Interop.Dimensions.IDimSelection);
Selection. Отметка в измерении.
Метод Build добавляет в произвольное размещение элементы, соответствующие отмеченным элементам измерения.
В зависимости от комбинаций значений свойств PreserveDimensionElementsOrder и MergeWithSelection метод Build работает следующим образом:
PreserveDimensionElementsOrder |
MergeWithSelection |
Действие метода Build |
False |
False |
Отсутствует. |
False |
True |
Добавляет элементы отметки, отсутствующие в произвольном размещении. |
True |
False |
Восстанавливает порядок для уже существующих элементов произвольного размещения. |
True |
True |
Восстанавливает порядок для уже существующих элементов произвольного размещения, попутно добавляя элементы отметки, отсутствующие в произвольном размещении. |
Для выполнения примера понадобится регламентный отчёт с идентификатором 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.
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;
См. также: