IPrxDataSources.FindByKey

Синтаксис

FindByKey(Key: Integer): IPrxDataSource;

Параметры

Key. Ключ источника данных, по которому происходит поиск.

Описание

Метод FindByKey осуществляет поиск и возвращает объект, содержащий источник данных.

Комментарий

Внутри коллекции IPrxDataSources используется диапазон ключей, где каждому источнику данных присваивается ключ, начиная с единицы.

Пример Fore

Для выполнения примера предполагается наличие регламентного отчета с идентификатором «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.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;

См. также:

IPrxDataSources