InitInstance(Src: IDimInstance; op: DynamicInstanceOperationsVisibility; Mark: Variant);
InitInstance(Src: Prognoz.Platform.Interop.Dimensions.IDimInstance; op: Prognoz.Platform.Interop.Dimensions.DynamicInstanceOperationsVisibility; Mark: object);
Src. Справочник;
op. Параметр определяет, на какие справочники распространяется выполняемая операция;
Mark. Множество, которому будет принадлежать справочник.
Метод InitInstance инициализирует справочник.
Для выполнения примера предполагается наличие в репозитории табличного справочника НСИ с идентификатором «DYNDIM».
Добавьте ссылки на системные сборки: Dimensions и Metabase.
Sub UserProc;
Var
MB: IMetabase;
Dim: IDynamicInstance;
DimInst: IDimInstance;
Begin
MB := MetabaseClass.Active;
DimInst := MB.ItemById("DYNDIM").Open(Null) As IDimInstance;
Dim := New DynamicInstance.Create;
// Инициализируем справочник
Dim.InitInstance(DimInst, DynamicInstanceOperationsVisibility.Local, "Init");
// Выведем наименование справочника - источника данных
Debug.WriteLine("Наименование справочника: " + Dim.RootInstance.Name);
// Выведем количество атрибутов родительского справочника
Debug.WriteLine("Атрибутов в родительском справочнике: " +
Dim.ParentInstance.AttributeCount.ToString);
End Sub UserProc;
В результате выполнения примера в окно консоли будут выведены наименование справочника - источника данных, количество атрибутов в родительском справочнике.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Dim: IDynamicInstance;
DimInst: IDimInstance;
Begin
MB := Params.Metabase;
DimInst := MB.ItemById["DYNDIM"].Open(Null) As IDimInstance;
Dim := New DynamicInstanceClass.Create();
// Инициализируем справочник
Dim.InitInstance(DimInst, DynamicInstanceOperationsVisibility.diovLocal, "Init");
// Выведем наименование справочника - источника данных
System.Diagnostics.Debug.WriteLine("Наименование справочника: " + Dim.RootInstance.Name);
// Выведем количество атрибутов родительского справочника
System.Diagnostics.Debug.WriteLine("Атрибутов в родительском справочнике: " +
Dim.ParentInstance.AttributeCount);
End Sub;
См. также: