Macro: String;
Macro: String;
Свойство Macro определяет наименование метода, который будет выполняться после подключения к базе данных.
В качестве значения данного свойства должно быть указано наименование статической процедуры, имеющей только один параметр с типом ISecurityConnection. Процедура должна быть реализована в том объекте, который указан в свойстве Module. Наименование указывается в следующем формате: <НаименованиеКласса>.<НаименованиеПроцедуры>, либо <Пространство имен>.<НаименованиеКласса>.<НаименованиеПроцедуры> если реализация находится в .NET-сборке.
Процедура будет выполняться непосредственно после самого подключения и перед выполнением каких-либо других запросов. Созданное подключение будет доступно во входном параметре процедуры. Используя интерфейсы сборки Dal можно произвести какие-либо дополнительные настройки подключения.
Для выполнения примера предполагается наличие в репозитории базы данных с идентификатором «BD». Также в репозитории должен быть создан модуль с идентификатором «PrepareDB». В модуле реализована процедура, которая будет вызываться после подключения к БД.
Sub UserProc;
Var
MB: IMetabase;
DB: IDatabaseInitExecuteSetup;
Begin
MB := MetabaseClass.Active;
DB := MB.ItemById("BD").Edit As IDatabaseInitExecuteSetup;
DB.Module := MB.ItemById("PrepareDB");
DB.Macro := "PrepareDB.OnDBConnecting";
(DB As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера будут определены дополнительные настройки базы данных репозитория. После подключения будет выполняться указанная процедура.
Для выполнения примера предполагается наличие в репозитории базы данных с идентификатором «BD». Также в репозитории должна быть создана .NET-сборка с идентификатором «PrepareDB». Сборка содержит .NET-модуль с реализацией процедуры, которая будет вызываться после подключения к БД.
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
DB: IDatabaseInitExecuteSetup;
Begin
MB := Params.Metabase;
DB := MB.ItemById["BD"].Edit() As IDatabaseInitExecuteSetup;
DB.Module := MB.ItemById["PrepareDB"];
DB.Macro := "PrepareDB.PrepareDB.OnDBConnecting";
(DB As IMetabaseObject).Save();
End Sub;
После выполнения примера будут определены дополнительные настройки базы данных репозитория. После подключения будет выполняться указанная процедура.
См. также: