MbElementDependentTemplateClass.CreateByDictionary

Синтаксис

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(
NullAs 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;

После выполнения примера для указанного справочника будет включена функция отслеживания зависимостей элементов справочника от объектов репозитория. Для первого элемента будут созданы новые зависимости от указанных объектов. Список зависимостей будет сохранен в базу репозитория.

См. также:

MbElementDependentTemplateClass