IMsUserMethodTemplates.Add

Syntax

Add: IMsUserMethodTemplate;

Description

The Add method creates a new user method template.

Example

Executing the example requires that the repository contains a database with the BD identifier, as well as the User_Method module that contains a user method template.

Sub Main;

Var

MB: IMetabase;

CrInfo: IMetabaseObjectCreateInfo;

MObj: IMetabaseObject;

Kont: IMsModelSpace;

Templates: IMsUserMethodTemplates;

Template: IMsUserMethodTemplate;

TemplateParams: IMsUserMethodTemplateParams;

TemplateParam: IMsUserMethodTemplateParam;

Begin

MB := MetabaseClass.Active;

CrInfo := MB.CreateCreateInfo;

CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_MODELSPACE;

CrInfo.Id := "Kont_Model";

CrInfo.Name := New modeling container;

CrInfo.Parent := MB.Root;

MObj := MB.CreateObject(CrInfo).Edit;

Kont := MObj As IMsModelSpace;

//DB configuration

Kont.Database := MB.ItemById("BD").Bind As IDatabase;

//Period configuration

Kont.StartDate := DateTime.ComposeDay(2000, 1, 1);

Kont.EndDate := DateTime.AddYears(Kont.StartDate, 10);

//Template of user method

Templates := Kont.UserMethodTemplates;

Template := Templates.Add;

Template.Assembly := MB.ItemById("User_Method");

Template.ClassName := "My_Method";

//Template parameters

TemplateParams := Template.Params;

TemplateParam := TemplateParams.Add;

TemplateParam.Binding := """UI=""FloatEdit""";

TemplateParam.Name := First parameter;

TemplateParam := TemplateParams.Add;

TemplateParam.Binding := """UI=""FloatEdit""";

TemplateParam.Name := Second parameter;

MObj.Save;

End Sub Main;

After executing the example a modeling container is created in the root directory of repository. The calendar period for this container is set to 10 years, one template is created in the list of templates of the user methods.

See also:

IMsUserMethodTemplates|IMsUserTransformImplementation