Element(Dim: IDimInstance): Integer;
Element[Prognoz.Platform.Interop.Dimensions.IDimInstance] : System.UInt32;
Dim. Измерение, по которому будет выполнена сортировка.
Свойство Element определяет номер элемента при сортировке по элементу измерения.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REPORT», который содержит как минимум одну область данных. В срезе для первой области данных по строкам задано измерение, которое соответствует справочнику с идентификатором «D_TO».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
DIs: IPrxDataIslands;
DI: IPrxDataIsland;
DimModel: IDimensionModel;
Prop: IPrxDataIslandProperties;
PropDim: IPrxDataIslandDimension;
Sort: IPrxDataIslandDimensionSort;
DimInst1: IDimInstance;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("REPORT").Edit;
Report := MObj As IPrxReport;
DIs := Report.DataIslands;
DI := DIs.Item(0).Edit;
DimModel := DI.Slice.TopHeader.Item(0).Dimension.Dimension;
Prop := DI.Properties;
PropDim := Prop.Dimension(DimModel);
Sort := PropDim.Sort;
Sort.Enabled := True;
Sort.Kind := PrxDimensionSortKind.ByElement;
//Определяем измерение, по элементу которого будет выполнена сортировка.
DimInst1 := mb.ItemById("D_TO").Open(Null) As IDimInstance;
//Устанавливаем
индекс элемента, по которому будет выполнена сортировка.
Sort.Element(DimInst1) := 5;
DI.Save;
MObj.Save;
End Sub UserProc;
После выполнения примера будет включена сортировка в первой области данных, установленная по столбцам. Вид сортировки - «По элементу измерения». Измерение соответствует справочнику «D_TO». Сортировка будет выполнена по пятому элементу измерения.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Dimensions;
...
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
DIs: IPrxDataIslands;
DI: IPrxDataIsland;
DimModel: IDimensionModel;
Prop: IPrxDataIslandProperties;
PropDim: IPrxDataIslandDimension;
Sort: IPrxDataIslandDimensionSort;
DimInst1: IDimInstance;
Begin
MB := Self.Metabase;
MObj := MB.ItemById["REPORT"].Edit();
Report := MObj As IPrxReport;
DIs := Report.DataIslands;
DI := DIs.Item[0].Edit();
DimModel := DI.Slice.TopHeader.Item[0].Dimension.Dimension;
Prop := DI.Properties;
PropDim := Prop.Dimension[DimModel];
Sort := PropDim.Sort;
Sort.Enabled := True;
Sort.Kind := PrxDimensionSortKind.phskByElement;
//Определяем измерение, по элементу которого будет выполнена сортировка.
DimInst1 := mb.ItemById["D_TO"].Open(Null) As IDimInstance;
//Устанавливаем
индекс элемента, по которому будет выполнена сортировка.
Sort.Element[DimInst1] := 5;
DI.Save();
MObj.Save();
End Sub;
См. также: