IMetaMember.SetConditions

Синтаксис

SetConditions(Conditions: IOrmConditions; Recursive: Boolean; PrevLevelIndex: Integer);

Параметры

Conditions. Условие;

Recursive. Параметр, определяющий отображать ли в иерархии дочерние элементы указанного уровня;

PrevLevelIndex. Уровень иерархии.

Описание

Метод SetConditions задает условия присутствия элемента в иерархии.

Пример

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

Sub UserProc;
Var
    Mb: IMetabase;
    RubrObj: IMetabaseObject;
    CatInst: IRubricatorInstance;
    DictInst: IMetaDictionaryInstance;
    HierarchyInst: IMetaHierarchyInstance;
    Mems: IMetaMembersSet;
    Mem: IMetaMember;
    Conditions: IOrmConditions;
    Cond: IOrmCondition;
Begin
    Mb := MetabaseClass.Active;
    RubrObj := Mb.ItemById("OBJ_FC").Bind;
    CatInst := RubrObj.Open(NullAs IRubricatorInstance;
    DictInst := CatInst.GetDictionary(RubricatorDictionary.Facts);
    HierarchyInst := DictInst.DefaultHierarchy;
    Debug.WriteLine("До изменения условий");
    Mems := HierarchyInst.GetRootMembers;
    If Not Mems.Eof Then
        Mem := Mems.Current;
        Repeat
            Debug.WriteLine(" " + Mem.Name);
            Conditions := HierarchyInst.CustomWhere;
            Conditions.Clear;
            Cond := Conditions.Add;
            Cond.AttributeName := "INDICATOR";
            Cond.Value := 1009;
            Mem.SetConditions(Conditions, False0);
            Mems.Next;
        Until Mems.Eof;
    End If;
    Debug.WriteLine("");
    Debug.WriteLine("После изменения условий");
    Mems := HierarchyInst.GetRootMembers;
    If Not Mems.Eof Then
        Mem := Mems.Current;
        Repeat
            Debug.WriteLine(" " + Mem.Name);
            Mems.Next;
        Until Mems.Eof;
    End If;
End Sub UserProc;

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

См. также:

IMetaMember