IBindingDimCombo.Group

Синтаксис

Group: String;

Описание

Свойство Group определяет значение параметра «GROUP» в строке связи.

Комментарии

Параметр «GROUP» определяет идентификатор группы элементов, которая ограничит элементы, доступные в редакторе.

Свойство Group доступно для использования, если свойству IBindingDimCombo.GroupDefined установлено значение True. При изменении свойства Group свойству IBindingDimCombo.GroupDefined автоматически устанавливается значение True.

Пример

Function CreateDimComboBinding(Dimension: IMetabaseObjectDescriptor): String;
Var
    BM: IBindingManager;
    DimChildren: IMetabaseObjectDescriptors;
    DimModel: IDimensionModel;
    DimInst: IDimInstance;
    Selection: IDimSelection;
    Group: IDimElementGroup;
    Schema: IDimSelectionSchema;
    RdsDict: IRdsDictionary;
    LvlKey, AttrKey: Integer;
    DimComboBinding: IBindingDimCombo;
Begin
    BM := New BindingManager.Create;
    DimModel := Dimension.Bind As IDimensionModel;
    DimChildren := Dimension.Children;
    //Настройка параметров
    DimComboBinding := BM.CreateByUi("DimCombo"As IBindingDimCombo;
    //Проверка наличия группы элементов и схемы отметки
    //Предполагается, что первый дочерний объект - группа элементов,
    //второй - схема отметки
    If DimChildren.Count >= 2 Then
        Group := DimChildren.Item(0).Bind As IDimElementGroup;
        Schema := DimChildren.Item(1).Bind As IDimSelectionSchema;
        DimComboBinding.Group := (Group As IMetabaseObject).Id;
        DimComboBinding.Schema := (Schema As IMetabaseObject).Id;
        //Формирование значений из наименований
        DimInst := Dimension.Open(NullAs IDimInstance;
        Selection := DimInst.CreateSelection;
        Schema.ProcessInplace(Selection, Group);
        DimComboBinding.ValueAttribute := "NAME";
        DimComboBinding.ValueDefined := True;
        DimComboBinding.Value := Selection.ToString;
    End If;
    //Идентификаторы в качестве наименования элементов уровня, если уровень существует
    If DimModel.Levels.Count >= 1 Then
        LvlKey := DimModel.Levels.Item(0).Key;
        AttrKey := DimModel.Attributes.Id.Key;
        DimComboBinding.LevelAttribute := "0{" + LvlKey.ToString + "*" + AttrKey.ToString + "}";
    End If;
    DimComboBinding.Object := Dimension.Id;
    //Множественная отметка
    DimComboBinding.SelectionMode := SelectionModeEnum.MultiSelect;
    //Шаблон для формирования наименования при множественной отметке
    DimComboBinding.CustomMultiselectText := "Диапазон: %First-%Last";
    Return DimComboBinding.AsString;
End Function CreateDimComboBinding;

Данная функция генерирует строку связи для использования редактора значения в виде раскрывающегося списка справочника. В качестве входного параметра «Dimension» передается описание справочника. В зависимости от структуры справочника в настройках редактора будут заданы: группа элементов и схема отметки, формат наименований элементов первого уровня. Значение в ячейке будет формироваться с помощью наименований элементов.

См. также:

IBindingDimCombo