GetControlledObjects: IMetabaseObjectDescriptors;
GetControlledObjects(): Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptors;
Метод GetControlledObjects возвращает коллекцию описаний объектов репозитория, управляемых текущим объектом задачи ETL.
Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором ETL_TASK.
Добавьте ссылки на системные сборки: Etl, Metabase.
Sub UserProc;
Var
MB: IMetabase;
Etl: IEtlTask;
EtlObj: IEtlObject;
Controlled: IMetabaseObjectDescriptors;
MDesc: IMetabaseObjectDescriptor;
i: Integer;
Begin
MB := MetabaseClass.Active;
// Задача ETL
Etl := MB.ItemById("ETL_TASK").Edit As IEtlTask;
For i := 0 To Etl.Count - 1 Do
// Объект задачи ETL
EtlObj := Etl.Item(i);
// Управляемые объекты
Controlled := EtlObj.GetControlledObjects;
If Controlled.Count > 0 Then
Debug.WriteLine("Объект задачи ETL: " + EtlObj.Name + ". Управляемые объекты:");
Debug.Indent;
For Each MDesc In Controlled Do
Debug.WriteLine(MDesc.Name + '(' + MDesc.Id + ')');
End For;
Debug.Unindent;
End If;
End For;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Etl;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Etl: IEtlTask;
EtlObj: IEtlObject;
Controlled: IMetabaseObjectDescriptors;
MDesc: IMetabaseObjectDescriptor;
i: Integer;
Begin
MB := Params.Metabase;
// Задача ETL
Etl := MB.ItemById["ETL_TASK"].Edit() As IEtlTask;
For i := 0 To Etl.Count - 1 Do
// Объект задачи ETL
EtlObj := Etl.Item[i];
// Управляемые объекты
Controlled := EtlObj.GetControlledObjects();
If Controlled.Count > 0 Then
System.Diagnostics.Debug.WriteLine("Объект задачи ETL: " + EtlObj.Name + ". Управляемые объекты:");
System.Diagnostics.Debug.Indent();
For Each MDesc In Controlled Do
System.Diagnostics.Debug.WriteLine(MDesc.Name + '(' + MDesc.Id + ')');
End For;
System.Diagnostics.Debug.Unindent();
End If;
End For;
End Sub;
При выполнении примера будет осуществлён перебор объектов задачи ETL. Если какой-либо объект задачи ETL управляет объектами репозитория, то список этих объектов будет выведен в консоль среды разработки.
См. также: