UseOnlyInAnalyticDashboard: Boolean;
UseOnlyInAnalyticDashboard: boolean;
Свойство UseOnlyInAnalyticDashboard возвращает признак того, используется ли экспресс-отчёт только в качестве источника данных аналитической панели.
Возможные значения:
True. Экспресс-отчёт является источником данных для аналитической панели;
False. Экспресс-отчёт является самостоятельным объектом мобильного приложения.
Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB». Добавьте ссылки на системные сборки: Metabase, Mobile.
Sub UserProc;
Var
mb: IMetabase;
Mobile: IMobileApplication;
Publicator: IMobileApplicationPublicator;
MaPubObs: IMobileApplicationPublishObjects;
i: Integer;
MaPubObj: IMobileApplicationPublishObject;
PubObj: IMobilePublishObject;
EaxPubObj: IMobilePublishAnalyzer;
s: String;
Begin
mb := MetabaseClass.Active;
// Получаем мобильное приложение (МП)
Mobile := mb.ItemById("MA_PUB").Bind As IMobileApplication;
// Создаем публикатор МП
Publicator := Mobile.CreatePublicator;
// Получаем объекты МП
MaPubObs := Publicator.Items;
For i := 0 To MaPubObs.Count - 1 Do
MaPubObj := MaPubObs.Item(i);
// Выбираем среди объектов экспресс-отчёты
If MaPubObj.Type = MobilePublishObjectType.Analyzer Then
PubObj := MaPubObj.PublishObject;
EaxPubObj := PubObj As IMobilePublishAnalyzer;
// Выводим данные о экспресс-отчёте в окно консоли
s := PubObj.Object.Name + " (" + PubObj.Object.Id + ")";
If EaxPubObj.UseOnlyInAnalyticDashboard Then
Debug.WriteLine("Экспресс-отчет '" +
s + "' используется в качестве источника данных аналитической панели");
Else
Debug.WriteLine("Экспресс-отчет '" +
s + "' является отдельным объектом мобильного приложения");
End If;
End If;
End For
End Sub UserProc;
Результат выполнения примера: в окно консоли выведена информация о экспресс-отчетах, содержащихся в мобильном приложении.
Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB».
Imports Prognoz.Platform.Interop.Mobile;
…
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Mobile: IMobileApplication;
Publicator: IMobileApplicationPublicator;
MaPubObs: IMobileApplicationPublishObjects;
i: Integer;
MaPubObj: IMobileApplicationPublishObject;
PubObj: IMobilePublishObject;
EaxPubObj: IMobilePublishAnalyzer;
s: String;
Begin
mb := Params.Metabase;
// Получаем мобильное приложение (МП)
Mobile := mb.ItemById["MA_PUB"].Bind() As IMobileApplication;
// Создаем публикатор МП
Publicator := Mobile.CreatePublicator();
// Получаем объекты МП
MaPubObs := Publicator.Items;
For i := 0 To MaPubObs.Count - 1 Do
MaPubObj := MaPubObs.Item[i];
// Выбираем среди объектов экспресс-отчёты
If MaPubObj.Type = MobilePublishObjectType.mpotAnalyzer Then
PubObj := MaPubObj.PublishObject;
EaxPubObj := PubObj As IMobilePublishAnalyzer;
// Выводим данные о экспресс-отчёте в окно консоли
s := PubObj.Object.Name + " (" + PubObj.Object.Id + ")";
If EaxPubObj.UseOnlyInAnalyticDashboard Then
System.Diagnostics.Debug.WriteLine("Экспресс-отчет '" +
s + "' используется в качестве источника данных аналитической панели");
Else
System.Diagnostics.Debug.WriteLine("Экспресс-отчет '" +
s + "' является отдельным объектом мобильного приложения");
End If;
End If;
End For
End Sub;
Результат выполнения примера: в окно консоли выведена информация о экспресс-отчетах, содержащихся в мобильном приложении.
См. также: