IRdsDictionaryElements.ElementIndex

Синтаксис

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(NullAs 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;

После выполнения примера в окно консоли будут выведены наименования и индексы дочерних элементов для корневого элемента справочника.

См. также:

IRdsDictionaryElements