IMobilePublishReport.UseOnlyInAnalyticDashboard

Синтаксис Fore

UseOnlyInAnalyticDashboard: Boolean;

Синтаксис Fore.NET

UseOnlyInAnalyticDashboard: boolean;

Описание

Свойство UseOnlyInAnalyticDashboard возвращает признак использования регламентного отчёта только в качестве источника данных аналитической панели.

Комментарии

Возможные значения:

Пример Fore

Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB».

Добавьте ссылки на системные сборки: Metabase, Mobile, Report.

Sub UserProc;
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 := 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.Report 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
                Debug.WriteLine(
"Регламентный отчет '" + s + "'используется в качестве источника данных аналитической панели");
            
Else Debug.WriteLine("Регламентный отчет '" + s + "'является отдельным объектом мобильного приложения");
            
End If;
            
//Проверка наличия указанного ключа листа в списке ключей листов
            For j := 0 To n - 1 Do
                Debug.WriteLine(
"Лист: " + (j + 1).ToString);
                
If EaxPubObj.IsPublishSheet(Sheets.Item(j).Key) Then
                    Debug.WriteLine(
"Ключ присутствует")
                
Else Debug.WriteLine("Ключ отсутствует");
                
End If;
            
End For;
            
// Устанавливаем лист публикации
            If EaxPubObj.IsPublishSheet(n) Then
                EaxPubObj.SetPublishSheet(n, 
False);
            
Else EaxPubObj.SetPublishSheet(n, True);
            
End If;
            
//Проверка наличия указанного ключа листа в списке ключей листов
            For j := 0 To n - 1 Do
                Debug.WriteLine(
"Лист: " + (j + 1).ToString);
                
If EaxPubObj.IsPublishSheet(Sheets.Item(j).Key) Then
                    Debug.WriteLine(
"Ключ присутствует")
                
Else Debug.WriteLine("Ключ отсутствует")
                
End If;
            
End For;
        
End If;
    
End For;
End Sub UserProc;

Результат выполнения примера: в окно консоли будет выведена информация о регламентных отчетах, содержащихся в мобильном приложении.

Пример Fore.NET

Необходимые требования и результат выполнения примера 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(1Then
                EaxPubObj.SetPublishSheet(1False);
            Else EaxPubObj.SetPublishSheet(1True);
            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;

См. также:

IMobilePublishReport