MbElementDependencyTemplateClass.CreateByObject

Fore Syntax

CreateByObject(ObjectKey: Integer);

Fore.NET Syntax

CreateByObject(ObjectKey: UInteger);

Parameters

ObjectKey. Key of the object, for which a dependencies template is created.

Description

The CreateByObject constructor creates a new dependencies template in accordance with repository object parameters.

Comments

To get an object key, use the IMetabaseObjectDescriptor.Key property or the IMetabase.GetObjectKeyById method.

Fore Example

Executing the example requires that the repository contains an object with the Obj_1 identifier and an MDM dictionary with the Country identifier. Tracking of dependencies from MDM dictionary elements is enabled for an object. The dictionary is stored in the MDM repository with the RDS identifier.

Sub UserProc;
Var
    MB: IMetabase;
    DepDB: IMbElementDependenciesDatabase;
    Obj, Dictionary: IMetabaseObjectDescriptor;
    Elements: IRdsDictionaryElements;
    Depends: IMbElementDependencies;
    Template: IMbElementDependencyTemplate;
    ElemKeys: Array Of Integer;
Begin
    MB := MetabaseClass.Active;
    DepDB := MB.ElementDependenciesDatabase;
    Depends := DepDB.New_;
    Obj := MB.ItemById("Obj_1");
    //Create a template
    Template := New MbElementDependencyTemplateClass.CreateByObject(Obj.Key);
    Dictionary := MB.ItemByIdNamespace("Country", MB.ItemById("RDS").Key);
    Elements := (Dictionary.Open(NullAs IRdsDictionaryInstance).Elements;
    //Specify dictionary
    Template.DictionaryKey := Dictionary.Key;
    ElemKeys := New Integer[2];
    ElemKeys[0] := Elements.Element(1);
    ElemKeys[1] := Elements.Element(2);
    //Specify keys of elements
    Template.ElementKeys := ElemKeys;
    //Add dependencies
    Depends.Add(Template);
    Mb.ElementDependenciesDatabase.Update(Depends);
End Sub UserProc;

Executing the example results in a collection of object dependencies from MDM dictionary elements. Two dependencies from two dictionary elements will be added to a list of dependencies. A list of dependencies will be saved in the repository database.

Fore.NET Example

Executing the example requires that the repository contains an object with the Obj_1 identifier and an MDM dictionary with the Country identifier. Tracking of dependencies from MDM dictionary elements is enabled for an object. The dictionary is stored in the MDM repository with the RDS identifier.

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    DepDB: IMbElementDependenciesDatabase;
    DependencyTemplateClass: MbElementDependencyTemplateClassClass = New MbElementDependencyTemplateClassClass();
    Obj, Dictionary: IMetabaseObjectDescriptor;
    Elements: IRdsDictionaryElements;
    Depends: IMbElementDependencies;
    Template: MbElementDependencyTemplateClass;
    ElemKeys: Array Of integer;
Begin
    MB := Params.Metabase;
    DepDB := MB.ElementDependenciesDatabase;
    Depends := DepDB.@New();
    Obj := MB.ItemById["Obj_1"];
    //Create a template
    DependencyTemplateClass.CreateByObject(Obj.Key);
    Template := DependencyTemplateClass As MbElementDependencyTemplateClass;
    Dictionary := MB.ItemByIdNamespace["Country", MB.ItemById["RDS"].Key];
    Elements := (Dictionary.Open(NullAs IRdsDictionaryInstance).Elements;
    //Specify dictionary
    Template.DictionaryKey := Dictionary.Key;
    ElemKeys := New integer[2];
    ElemKeys[0] := Elements.Element[1As integer;
    ElemKeys[1] := Elements.Element[2As integer;
    //Specify keys of elements
    Template.ElementKeys := ElemKeys;
    //Add dependencies
    Depends.Add(Template);
    Mb.ElementDependenciesDatabase.Update(Depends);
End Sub;

The specified procedure is an entry point for the .NET assembly. Executing the example results in a collection of object dependencies from MDM dictionary elements. Two dependencies from two dictionary elements will be added to a list of dependencies. A list of dependencies will be saved in the repository database.

See also:

MbElementDependencyTemplateClass