UseOnlyInAnalyticDashboard: Boolean;
UseOnlyInAnalyticDashboard: boolean;
Свойство UseOnlyInAnalyticDashboard возвращает признак использования регламентного отчёта только в качестве источника данных аналитической панели.
Возможные значения:
True. Регламентный отчёт является источником данных для аналитической панели;
False. Регламентный отчёт является самостоятельным объектом мобильного приложения.
Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB».
Добавьте ссылки на системные сборки: Metabase, Mobile, Report.
Результат выполнения примера: в окно консоли будет выведена информация о регламентных отчетах, содержащихся в мобильном приложении.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Mobile;
Imports Prognoz.Platform.Interop.Report;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Mobile: IMobileApplication;
Publicator: IMobileApplicationPublicator;
MaPubObs: IMobileApplicationPublishObjects;
n, i, j: Integer;
MaPubObj: IMobileApplicationPublishObject;
PubObj: IMobilePublishObject;
EaxPubObj: IMobilePublishReport;
s: String;
report: IPrxReport;
Sheets: IPrxSheets;
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.mpotReport Then
PubObj := MaPubObj.PublishObject;
EaxPubObj := PubObj As IMobilePublishReport;
//Подсчитываем количество листов регламентного отчета
report := PubObj.Object As IPrxReport;
Sheets := report.Sheets;
n := Sheets.Count;
// Выводим данные о регламентном отчёте в окно консоли
s := PubObj.Object.Name + " (" + PubObj.Object.Id + ")";
If EaxPubObj.UseOnlyInAnalyticDashboard Then
System.Diagnostics.Debug.WriteLine("Регламентный отчет '" + s + "' используется в качестве источника данных аналитической панели");
Else System.Diagnostics.Debug.WriteLine("Регламентный отчет '" + s + "' является отдельным объектом мобильного приложения");
End If;
//Проверка наличия указанного ключа листа в списке ключей листов
For j := 0 To n - 1 Do
System.Diagnostics.Debug.WriteLine("Лист: " + (j + 1).ToString());
If EaxPubObj.IsPublishSheet(Sheets.Item[j].Key) Then
System.Diagnostics.Debug.WriteLine("Ключ присутствует")
Else System.Diagnostics.Debug.WriteLine("Ключ отсутствует");
End If;
End For;
// Устанавливаем лист публикации
If EaxPubObj.IsPublishSheet(1) Then
EaxPubObj.SetPublishSheet(1, False);
Else EaxPubObj.SetPublishSheet(1, True);
End If;
//Проверка наличия указанного ключа листа в списке ключей листов
For j := 0 To n - 1 Do
System.Diagnostics.Debug.WriteLine("Лист: " + (j + 1).ToString());
If EaxPubObj.IsPublishSheet(Sheets.Item[j].Key) Then
System.Diagnostics.Debug.WriteLine("Ключ присутствует")
Else System.Diagnostics.Debug.WriteLine("Ключ отсутствует");
End If;
End For;
End If;
End For;
End Sub;
См. также: