CreateByDictionary(DictionaryKey: Integer);
DictionaryKey. Ключ справочника НСИ.
Конструктор CreateByDictionary создает новый шаблон зависимостей в соответствии с указанными параметрами справочника НСИ.
Для получения ключей объекта и справочника используйте свойство IMetabaseObjectDescriptor.Key, либо метод IMetabase.GetObjectKeyById. Для получения ключа элемента используйте свойство IRdsDictionaryElement.Key, либо IRdsDictionaryElements.Element.
Для выполнения примера предполагается наличие в репозитории двух объектов с идентификаторами «Obj_1», «Obj_2» и табличного справочника НСИ с идентификатором «Dict_1».
Добавьте ссылки на системные сборки: Metabase, Rds.
Sub UserProc;
Var
MB: IMetabase;
Dictionary: IMetabaseObjectDescriptor;
Elements: IRdsDictionaryElements;
Depends: IMbElementDependents;
Template: IMbElementDependentTemplate;
ObjKeys: Array Of Integer;
Begin
MB := MetabaseClass.Active;
Dictionary := MB.ItemById("Dict_1");
Elements := (Dictionary.Open(Null) As IRdsDictionaryInstance).Elements;
// Настройки объекта:
Dictionary := Dictionary.EditDescriptor;
Dictionary.ElementDependenciesTrackingType := MbElementDependenciesTrackingType.Dependents;
Dictionary.SaveDescriptor;
// Новый шаблон для добавления зависимости
// Шаблон создается для первого элемента справочника НСИ
Template := New MbElementDependentTemplateClass.CreateByDictionary(Dictionary.Key);
Template.ElementKey := Elements.Element(1);
ObjKeys := New Integer[2];
ObjKeys[0] := Mb.GetObjectKeyById("Obj_1");
ObjKeys[1] := Mb.GetObjectKeyById("Obj_2");
Template.ObjectKeys := ObjKeys;
// Коллекция зависимостей элементов
Depends := Dictionary.ElementDependents;
Depends.Clear;
Depends.Add(Template);
Depends.Database.Update(Depends);
Debug.WriteLine("Количество записей зависимости элементов справочника НСИ от объектов: " + Depends.Count.ToString);
End Sub UserProc;
После выполнения примера для указанного справочника будет включена функция отслеживания зависимостей элементов справочника от объектов репозитория. Для первого элемента будут созданы новые зависимости от указанных объектов. Список зависимостей будет сохранен в базу репозитория.
См. также: