Remove(Index: Integer): Boolean;
Remove(Index: integer): boolean;
Index. Индекс записи зависимости элементов справочника НСИ от объектов репозитория.
Метод Remove удаляет запись зависимостей элементов справочника НСИ от объектов репозитория по её индексу.
Метод возвращает значение True, если удаление прошло успешно.
Для удаления всех записей зависимостей элементов справочника НСИ от объектов репозитория используйте метод IMbElementDependents.Clear.
Для выполнения примера предполагается наличие справочников НСИ с идентификаторами «DICT» и «DICT1».
Добавьте ссылки на системные сборки Metabase, Rds.
Sub UserProc;
Var
MB: IMetabase;
Obj, Dictionary: IMetabaseObjectDescriptor;
RdsDictIns: IRdsDictionaryInstance;
Elements: IRdsDictionaryElements;
Depends: IMbElementDependents;
Template, Value: IMbElementDependentTemplate;
ElemKeys: Array[2] Of Integer;
ObjKey, DictKey, ElemKey: Integer;
ElemDependDB: IMbElementDependentsDatabase;
Begin
MB := MetabaseClass.Active;
Obj := MB.ItemById("DICT1");
Dictionary := MB.ItemById("DICT");
RdsDictIns := Dictionary.Open(Null) As 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.
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[2] Of uinteger;
ObjKey, DictKey, ElemKey: uinteger;
ElemDependDB: IMbElementDependentsDatabase;
Begin
MB := Params.Metabase;
Obj := MB.ItemById["DICT1"];
Dictionary := MB.ItemById["DICT"];
RdsDictIns := Dictionary.Open(Null) As 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;
См. также: