Open(Params: IMetabaseObjectParamValues): IMetabaseObjectInstance;
Open(Params: Prognoz.Platform.Interop.Metabase.IMetabaseObjectParamValues): Prognoz.Platform.Interop.Metabase.IMetabaseObjectInstance;
Params. Значения параметров, с которыми осуществляется открытие объекта. Если у объекта отсутствуют параметры, то необходимо передавать значение Null.
Метод Open осуществляет открытие объекта и возвращает его данные.
Метод Open создает экземпляр объекта, но при этом не открывает его в интерфейсе. Метод используется только для открытия форм. Для открытия других объектов репозитория используйте команду Object.Open.
Для выполнения примера предполагается наличие в репозитории формы с идентификатором «Form_open».
Добавьте ссылку на системную сборку «Metabase».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("Form_open").Bind;
MObj.Open(Null);
End Sub UserProc;
После выполнения примера будет открыта форма.
Для выполнения примера предполагается наличие в репозитории запроса с идентификатором «Query_». Данный запрос создан с двумя параметрами.
Добавьте ссылки на системные сборки «Metabase», «Db».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Params: IMetabaseObjectParamValues;
Inst: IDatasetInstance;
Fields: IDatasetInstanceFields;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("Query_").Bind;
Params := MObj.ParamValues;
Params.Item(0).Value := 100;
Params.Item(1).Value := 300;
Inst := MObj.Open(Params) As IDatasetInstance;
Fields := Inst.Fields;
While Not Inst.Eof Do
Debug.WriteLine(Fields.Item(0).Value);
Inst.Next;
End While;
End Sub UserProc;
В результате выполнения примера будет открыт запрос с указанными значениями параметров. Значения первого столбца данных, полученных при выполнении запроса, будут выведены в консоль среды разработки.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["Form_open"].Bind();
MObj.Open(Null);
End Sub;
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Db;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Param: IMetabaseObjectParamValues;
Inst: IDatasetInstance;
Fields: IDatasetInstanceFields;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["Query_"].Bind();
Param := MObj.ParamValues;
Param.Item[0].Value := 100;
Param.Item[1].Value := 300;
Inst := MObj.Open(Param) As IDatasetInstance;
Fields := Inst.Fields;
While Not Inst.Eof() Do
System.Diagnostics.Debug.WriteLine(Fields.Item[0].Value);
Inst.Next();
End While;
End Sub;
См. также: