Report > Интерфейсы сборки Report > IPrxDataSources > IPrxDataSources.FindByKey
FindByKey(Key: Integer): IPrxDataSource;
Key. Ключ источника данных, по которому происходит поиск.
Метод FindByKey осуществляет поиск и возвращает объект, содержащий источник данных.
Внутри коллекции IPrxDataSources используется диапазон ключей, где каждому источнику данных присваивается ключ, начиная с единицы.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT», в котором содержатся источники данных. Один из источников с ключом «1». В модуле подключите системные сборки: Metabase, Report.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
DtSources: IPrxDataSources;
DtSource: IPrxDataSource;
Slice: IPrxSlice;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("REGULAR_REPORT").Bind;
Report := MObj As IPrxReport;
DtSources := Report.DataSources;
DtSource := Report.DataSources.FindByKey(1);
For Each Slice In DtSource.Slices Do
Debug.WriteLine(Slice.Name)
End For;
End Sub UserProc;
После выполнения примера в консоль будут выведены наименования срезов, содержащихся в кубе с ключом «1».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
DtSources: IPrxDataSources;
DtSource: IPrxDataSource;
Slice: IPrxSlice;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["REGULAR_REPORT"].Bind();
Report := MObj As IPrxReport;
DtSources := Report.DataSources;
DtSource := Report.DataSources.FindByKey(1);
For Each Slice In DtSource.Slices Do
System.Diagnostics.Debug.WriteLine(Slice.Name)
End For;
End Sub;
См. также: