IDimElements.GroupKey

Синтаксис

GroupKey(Element: Integer): Integer;

Параметры

Element - индекс элемента справочника.

Описание

Метод GroupKey возвращает ключ группы для элемента. Если элемент не является группой, то метод возвращает значение «0».

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки «Button1», и следующих компонентов: UiDimension с идентификатором «UiDimension1», UiRdsDictionary с идентификатором «UiRdsDictionary1», Memo с идентификатором «Memo1», а также компонента DimensionTree. Источником данных для компонента DimensionTree является «UiRdsDictionary1». В репозитории предполагается наличие репозитория НСИ «RDS_REPO», содержащего справочник «OBJ_DICTIONARY».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Metabase: IMetabase;
    RdsKey: Integer;
    Object: IMetabaseObjectDescriptor;
    Params: IMetabaseObjectParams;
    Param: IMetabaseObjectParam;
    Values: IMetabaseObjectParamValues;
    Dictionary: IRdsDictionaryInstance;
    Dict: IRdsDictionary;
    DimInstance: IDimInstance;
    Elements: IDimElements;
    Element: Integer;
    i: Integer;
Begin
    Metabase := MetabaseClass.Active;
    RdsKey := Metabase.GetObjectKeyById("RDS_REPO");
    Object := Metabase.ItemByIdNamespace("OBJ_DICTIONARY", RdsKey);
    Object := Object.Edit;
    Params := Object.Params;
    Param := Params.Add;
    Param.Name := "RDSDIMTYPE";
    Param.Id := "RDSDIMTYPE";
    Param.DataType := DbDataType.Integer;
    Values := Params.CreateEmptyValues;
    Values.FindById("RDSDIMTYPE").Value := 1;
    Dictionary := Object.Open(Values) As IRdsDictionaryInstance;
    DimInstance := Dictionary As IDimInstance;
    UiDimension1.Instance := DimInstance;
    Dict := Dictionary.Dictionary;
    UiRdsDictionary1.Object := Dict;
    UiRdsDictionary1.Open(Values);
    UiRdsDictionary1.Active := True;
    Memo1.Clear;
    Elements := DimInstance.Elements;
    For i := 0 To Elements.Count - 1 Do
        Element := Elements.Elements.Element(i);
        If Elements.IsGroup(Element) Then
            Memo1.Lines.Add("    Группа: " + Elements.Name(Element));
            Memo1.Lines.Add("        Ключ группы: " + Elements.GroupKey(Element).ToString);
        Else
            Memo1.Lines.Add("Элемент: " + Elements.Name(Element));
        End If;
    End For;
End Sub Button1OnClick;

После выполнения примера в компоненте DimensionTree будут отображены группы и элементы справочника «OBJ_DICTIONARY» в виде дерева. В компоненте Memo будет отображена информация об элементах (наименование) и группах справочника (наименование и ключ).

См. также:

IDimElements