Level: Integer;
Level: uinteger;
Свойство Level определяет уровень справочника, в котором выполняется поиск элемента.
Если свойство принимает значение «-1», то поиск выполняется независимо от уровня.
Для выполнения примера в репозитории необходимо наличие табличного справочника с идентификатором «DIM_SEP», который состоит из двух уровней.
Добавьте ссылки на системные сборки: Dimensions, Metabase.
Sub UserProc;
Var
mb: IMetabase;
instance: IDimInstance;
indexesinstance: IDimIndexesInstance;
indexinstance: IDimIndexInstance;
instlook: IDimIndexInstanceLookup;
arr, arr1: array Of Variant;
i, c: integer;
Begin
// Получим репозиторий
mb := MetabaseClass.Active;
// Получим доступ к данным справочника
instance := mb.ItemById("DIM_SEP").Open(Null) As IDimInstance;
// Создадим массивы
для поиска
Arr := New Variant[1];
Arr1 := New Variant[1];
// Получим коллекцию индексов справочника
indexesinstance := instance.Indexes;
// Получим первый индекс справочника
indexinstance := indexesinstance.Item(0);
// Создадим объект для поиска элементов справочника
instlook := indexinstance.CreateDimIndexLookup;
// Зададим уровень
для поиска
instlook.Level := 2;
// Найдем элементы «1000»
и «1020»
Arr[0] := 1000;
Arr1[0] := 1020;
// Получим порядковый номер элемента
i := indexinstance.LookUp(Arr);
// Получим порядковый номер элемента
c := indexinstance.LookUp(Arr1);
// Выведем порядковый номер в окно консоли
Debug.WriteLine("Порядковый номер найденного элемента = " + i.ToString);
// Выведем порядковый номер в окно консоли
Debug.WriteLine("Порядковый номер найденного элемента = " + c.ToString);
End Sub UserProc;
После выполнения примера в окно консоли выведутся порядковые номера найденных элементов.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
instance: IDimInstance;
indexesinstance: IDimIndexesInstance;
indexinstance: IDimIndexInstance;
instlook: IDimIndexInstanceLookup;
arr, arr1: array Of object;
i, c: uinteger;
Begin
// Получим репозиторий
mb := Params.Metabase;
// Получим доступ к данным справочника
instance := mb.ItemById["DIM_SEP"].Open(Null) As IDimInstance;
// Создадим массивы
для поиска
Arr := New object[1];
Arr1 := New object[1];
// Получим коллекцию индексов справочника
indexesinstance := instance.Indexes;
// Получим первый индекс справочника
indexinstance := indexesinstance.Item[0];
// Создадим объект для поиска элементов справочника
instlook := indexinstance.CreateDimIndexLookup();
// Зададим уровень для поиска
instlook.Level := 2;
// Найдем элементы «1000»
и «1020»
Arr[0] := 1000;
Arr1[0] := 1020;
// Получим порядковый номер элемента
i := indexinstance.LookUp(Arr);
// Получим порядковый номер элемента
c := indexinstance.LookUp(Arr1);
// Выведем порядковый номер в окно консоли
System.Diagnostics.Debug.WriteLine("Порядковый номер найденного элемента = " + i.ToString());
// Выведем порядковый номер в окно консоли
System.Diagnostics.Debug.WriteLine("Порядковый номер найденного элемента = " + c.ToString());
End Sub;
См. также: