SelectionIndex: IDimIndexInstance;
SelectionIndex: Prognoz.Platform.Interop.Dimensions.IDimIndexInstance;
Свойство SelectionIndex возвращает индекс, который используется для формирования отметки.
Подобный индекс используется для сохранения и восстановления отметки по измерению, основанному на справочнике.
Для выполнения примера в репозитории предполагается наличие справочника НСИ с идентификатором «USE_IN_SELECTION». Данный справочник должен содержаться вне репозитория НСИ и использоваться в качестве измерения в базе данных временных рядов.
Добавьте ссылки на системные сборки: Dimensions, Metabase.
Sub UseProc;
Var
mb: IMetabase;
DimInst: IDimInstance;
Indexes: IDimIndexesInstance;
Index: IDimIndexInstance;
Attr: IDimAttribute;
Begin
// Получаем текущий репозиторий
mb := MetabaseClass.Active;
// Получаем справочник
DimInst := mb.ItemById("USE_IN_SELECTION").Open(Null) As IDimInstance;
// Получаем индексы справочника
Indexes := DimInst.Indexes;
// Получаем индекс справочника, который используется для формирования отметки
Index := Indexes.SelectionIndex;
// Выводим информацию об индексе в окно консоли
If Index <> Null Then
Debug.WriteLine("Наименование индекса: " + Index.Index.Name);
Debug.WriteLine(Index.CaseSensitive ? "Индекс регистрозависимый" : "Индекс регистронезависимый");
Debug.WriteLine("Атрибуты в составе индекса:");
For Each Attr In Index.Index.Attributes Do
Debug.WriteLine(" " + Attr.Name);
End For;
End If;
End Sub UseProc;
В результате выполнения примера в окно консоли будет выведена информация о индексе, используемом для формирования отметки, если он присутствует в справочнике.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
DimInst: IDimInstance;
Indexes: IDimIndexesInstance;
Index: IDimIndexInstance;
Attr: IDimAttribute;
Begin
// Получаем текущий репозиторий
mb := Params.Metabase;
// Получаем справочник
DimInst := mb.ItemById["USE_IN_SELECTION"].Open(Null) As IDimInstance;
// Получаем индексы справочника
Indexes := DimInst.Indexes;
// Получаем индекс справочника, который используется для формирования отметки
Index := Indexes.SelectionIndex;
// Выводим информацию об индексе в окно консоли
If Index <> Null Then
System.Diagnostics.Debug.WriteLine("Наименование индекса: " + Index.Index.Name);
System.Diagnostics.Debug.WriteLine(Index.CaseSensitive ? "Индекс регистрозависимый" : "Индекс регистронезависимый");
System.Diagnostics.Debug.WriteLine("Атрибуты в составе индекса:");
For Each Attr In Index.Index.Attributes Do
System.Diagnostics.Debug.WriteLine(" " + Attr.Name);
End For;
End If;
End Sub;
См. также: