ElementDim(SlotNumber: Integer; ElementNumber: Integer): IDimInstance;
ElementDim(SlotNumber: integer; ElementNumber: integer): Prognoz.Platform.Interop.Dimensions.IDimInstance;
SlotNumber. Индекс слота в заголовке таблицы;
ElementNumber. Индекс элемента в заголовке таблицы.
Свойство ElementDim возвращает данные об измерении, которое содержится в заголовке таблицы.
Для выполнения примера в репозитории предполагается наличие экспресс-отчета, содержащего таблицу данных, с идентификатором «EXPRESS_SLOTS».
Добавьте ссылки на системные сборки: Express, Metabase, Pivot, Dimensions.
Sub UserProc;
Var
MB: IMetabase;
Report: IEaxAnalyzer;
Pivot: IPivot;
TableHeader: IPivotTableHeader;
DimKey, Element: Integer;
DimInst: IDimInstance;
Begin
// Получим текущий репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Report := MB.ItemById("EXP_SLOTS").Bind As IEaxAnalyzer;
// Получим объект, на основе которого строится таблица данных
Pivot := Report.Pivot;
// Получим свойства заголовков столбцов таблицы
TableHeader := Pivot.ObtainTable.TopHeader;
// Получим наименование и ключ измерения во второй ячейке заголовка первого столбца
DimInst := TableHeader.ElementDim(0, 1);
DimKey := TableHeader.ElementDimKey(0, 1);
Debug.WriteLine("Наименование: " + DimInst.Name + ", Ключ: " + DimKey.ToString);
// Получим индекс элемента измерения
Element := TableHeader.DimensionElement(DimKey, 1);
Debug.WriteLine("Индекс: " + Element.ToString);
End Sub UserProc;
В результате выполнения примера в окно консоли будет выведено наименование, ключ и индекс измерения, которое содержится во второй ячейке заголовка первого столбца:
Наименование: Типы данных, Ключ: 10200
Индекс: 0
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IEaxAnalyzer;
Pivot: IPivot;
TableHeader: IPivotTableHeader;
DimKey, Element: Uinteger;
DimInst: IDimInstance;
Begin
// Получим текущий репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Report := MB.ItemById["EXP_SLOTS"].Bind() As IEaxAnalyzer;
// Получим объект, на основе которого строится таблица данных
Pivot := Report.Pivot;
// Получим свойства заголовков столбцов таблицы
TableHeader := Pivot.ObtainTable().TopHeader;
// Получим наименование и ключ измерения во второй ячейке заголовка первого столбца
DimInst := TableHeader.ElementDim[0, 1];
DimKey := TableHeader.ElementDimKey[0, 1];
System.Diagnostics.Debug.WriteLine("Наименование: " + DimInst.Name + ", Ключ: " + DimKey.ToString());
// Получим индекс элемента измерения
Element := TableHeader.DimensionElement[DimKey, 1];
System.Diagnostics.Debug.WriteLine("Индекс: " + Element);
End Sub;
См. также: