IMbElementDependents.Remove

Синтаксис Fore

Remove(Index: Integer): Boolean;

Синтаксис Fore.NET

Remove(Index: integer): boolean;

Параметры

Index. Индекс записи зависимости элементов справочника НСИ от объектов репозитория.

Описание

Метод Remove удаляет запись зависимостей элементов справочника НСИ от объектов репозитория по её индексу.

Комментарии

Метод возвращает значение True, если удаление прошло успешно.

Для удаления всех записей зависимостей элементов справочника НСИ от объектов репозитория используйте метод IMbElementDependents.Clear.

Пример Fore

Для выполнения примера предполагается наличие справочников НСИ с идентификаторами «DICT» и «DICT1».

Добавьте ссылки на системные сборки Metabase, Rds.

Sub UserProc;
Var
    MB: IMetabase;
    Obj, Dictionary: IMetabaseObjectDescriptor;
    RdsDictIns: IRdsDictionaryInstance; 
    Elements: IRdsDictionaryElements;
    Depends: IMbElementDependents;
    Template, Value: IMbElementDependentTemplate;
    ElemKeys: Array[2Of Integer;
    ObjKey, DictKey, ElemKey: Integer;
    ElemDependDB: IMbElementDependentsDatabase;
Begin
    MB := MetabaseClass.Active;
    Obj := MB.ItemById("DICT1");
    Dictionary := MB.ItemById("DICT");
    RdsDictIns := Dictionary.Open(NullAs IRdsDictionaryInstance;
    Elements := RdsDictIns.Elements;
    // Настройки объекта:
    Obj := Obj.EditDescriptor;
    Obj.ElementDependenciesTrackingType := MbElementDependenciesTrackingType.Dependecies;
    Obj.ElementDependents;
    Obj.SaveDescriptor;
    /// Настройки:
    DictKey := Dictionary.Key;
    ObjKey := Obj.Key;
    // Шаблон:
    Template := New MbElementDependentTemplateClass.CreateByDictionary(DictKey);
    Template.DictionaryKey := Dictionary.Key;
    ElemKeys[0] := Elements.Element(1);
    ElemKeys[1] := Elements.Element(2);
    //Указываем ключи элементов
    Template.ElementKeys := ElemKeys;
    // Коллекция зависимостей:
    ElemDependDB := Mb.ElementDependentsDatabase;
    Depends := ElemDependDB.Select_(Template);
    Value := New MbElementDependentTemplateClass.Create(ObjKey, DictKey, ElemKey);
    Depends.Add(Value);
    Depends.Remove(0);
    ElemDependDB.Update(Depends);
End Sub UserProc;

В результате выполнения примера будет удалена первая запись зависимостей элементов справочника НСИ от объектов репозитория.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Rds;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Obj, Dictionary: IMetabaseObjectDescriptor;
    RdsDictIns: IRdsDictionaryInstance; 
    Elements: IRdsDictionaryElements;
    Depends: IMbElementDependents;
    DependTemplClassT, DependTemplClassV: MbElementDependentTemplateClassClass = New MbElementDependentTemplateClassClass();
    Template, Value: MbElementDependentTemplateClass;
    ElemKeys: Array[2Of uinteger;
    ObjKey, DictKey, ElemKey: uinteger;
    ElemDependDB: IMbElementDependentsDatabase;
Begin
    MB := Params.Metabase;
    Obj := MB.ItemById["DICT1"];
    Dictionary := MB.ItemById["DICT"];
    RdsDictIns := Dictionary.Open(NullAs IRdsDictionaryInstance;
    Elements := RdsDictIns.Elements;
    // Настройки объекта:
    Obj := Obj.EditDescriptor();
    Obj.ElementDependenciesTrackingType := MbElementDependenciesTrackingType.mbeledeptratypDependecies;
    Obj.ElementDependents;
    Obj.SaveDescriptor();
    /// Настройки:
    DictKey := Dictionary.Key;
    ObjKey := Obj.Key;
    // Шаблон:
    DependTemplClassT.CreateByDictionary(DictKey);
    Template := DependTemplClassT As MbElementDependentTemplateClass;
    Template.DictionaryKey := Dictionary.Key;
    ElemKeys[0] := Elements.Element[1];
    ElemKeys[1] := Elements.Element[2];
    //Указываем ключи элементов
    Template.ElementKeys := ElemKeys;
    // Коллекция зависимостей:
    ElemDependDB := Mb.ElementDependentsDatabase;
    Depends := ElemDependDB.@Select(Template);
    DependTemplClassV.Create(ObjKey, DictKey, ElemKey);
    Value := DependTemplClassV As MbElementDependentTemplateClass;
    Depends.Add(Value);
    Depends.Remove(0);
    ElemDependDB.Update(Depends);
End Sub;

См. также:

IMbElementDependents