ImplementationCoreAssembly: IMetabaseObjectDescriptor;
Свойство ImplementationCoreAssembly определяет сборку, содержащую реализацию класса без визуальных зависимостей, который будет обрабатывать операции пользовательского класса.
Свойство используется при настройке объекта пользовательского класса, работа с которым будет осуществляться в веб-приложении. В качестве значения данного свойства необходимо указать описание модуля/сборки репозитория. Сам класс задаётся в свойстве ImplementationCoreClass.
Для выполнения примера предполагается наличие в репозитории модуля с идентификатором «M_WEB_OPERATIONS». В данном модуле реализован класс для обработки операций объектов пользовательских классов.
Добавьте ссылки на системные сборки: Metabase.
Sub UserProc;
Var
Mb: IMetabase;
CustomClassExtender: IMetabaseCustomExtender;
CustomClass: IMetabaseCustomClass;
Begin
Mb := MetabaseClass.Active;
// Получение контейнера пользовательских классов
CustomClassExtender := Mb.SpecialObject(MetabaseSpecialObject.CustomExtender).Edit As IMetabaseCustomExtender;
// Добавление пользовательского класса
CustomClass := CustomClassExtender.Classes.Add;
CustomClass.Id := "UserObjectClassForWeb";
CustomClass.Name := "Тестовый объект для Web";
CustomClass.ImplementationCoreAssembly := MB.ItemById("M_WEB_OPERATIONS");
CustomClass.ImplementationCoreClass := "WebOperationsClass";
// Сохранение изменений
(CustomClassExtender As IMetabaseObject).Save;
End Sub UserProc;
При выполнении примера в контейнере пользовательских классов будет создан новый класс объектов. Для класса будут определены базовые свойства. В качестве обработчика операций будет указан класс OperationsClass.
См. также: