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 будет отображена информация об элементах (наименование) и группах справочника (наименование и ключ).
См. также: