ElementIndex(Key: Integer): Integer;
Key. Ключ элемента.
Свойство доступно только для чтения.
Свойство ElementIndex возвращает индекс элемента по ключу.
Если элемент с заданным ключом отсутствует в справочнике, то ElementIndex вернет значение «-1».
Если параметр Key = -2, то ElementIndex вернет индекс корневого элемента справочника.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS», содержащим справочник с идентификатором «DICTIONARY». Также необходимо добавить ссылки на системные сборки «Metabase», «Rds».
Sub UserProc;
Var
Mb: IMetabase;
RdsKey: Integer;
Dict: IRdsDictionaryInstance;
Elements: IRdsDictionaryElements;
Children: IRdsDictionaryElementArray;
i: Integer;
Index: Integer;
Key: Integer;
Element: IRdsDictionaryElement;
Begin
Mb := MetabaseClass.Active;
RdsKey := Mb.ItemById("OBJ601").Key;
Dict := Mb.ItemByIdNamespace("OBJ607", RdsKey).Open(Null) As IRdsDictionaryInstance;
Elements := Dict.Elements;
Children := Elements.Children(-2);
For i := 0 To Children.Count - 1 Do
Key := Children.Item(i);
Index := Elements.ElementIndex(Key);
Element := Elements.Item(Index);
Debug.WriteLine("Элемент - '" + Element.Name + "' Индекс - " + Element.ElementIndex.ToString);
End For;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены наименования и индексы дочерних элементов для корневого элемента справочника.
См. также: