IMobileApplicationPublicator.GetLastPublishResult

Синтаксис Fore

GetLastPublishResult: IMobileApplicationPublicatorErrorObject;

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

GetLastPublishResult: Prognoz.Platform.Interop.Mobile.IMobileApplicationPublicatorErrorObject;

Описание

Метод GetLastPublishResult возвращает объект, содержащий информацию о результате публикации мобильного приложения.

Комментарии

Для определения, произойдет ли остановка публикации мобильного приложения при возникновении любой ошибки, используйте IMobileApplicationPublicator.GetLastPublishResult.

Пример Fore

Для выполнения примера в репозитории необходимо наличие контейнера мобильного приложения с идентификатором «MA_PUB_ADHOC». Контейнер мобильного приложения содержит аналитическую панель. Аналитическая панель имеет ключ «19869».

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

Sub UserProc;
Var
    MB: IMetabase;
    Mobile: IMobileApplication;
    Publicator: IMobileApplicationPublicator;
    PubObjs: IMobileApplicationPublishObjects;
    PubObj: IMobileApplicationPublishObject;
    PObj: IMobilePublishObject;
    Res: MobilePublishObjectResult;
    LastPubResult: IMobileApplicationPublicatorErrorObject;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим мобильное приложение
    Mobile := MB.ItemById("MA_PUB_ADHOC").Bind As IMobileApplication;
    // Создадим публикатор мобильного приложения
    Publicator := Mobile.CreatePublicator;
    // Отменим публикацию при первой ошибке
    Publicator.BreakOnError := True;
    // Получим коллекцию публикуемых объектов
    PubObjs := Publicator.Items;
    // Получим публикуемую аналитическую панель по ключу
    PubObj := PubObjs.ItemByKey(19869);
    PObj := PubObj.PublishObject;
    // Зададим путь публикации
    PObj.ExportPath := "C:\" + PObj.Object.Id + ".zip";
    // Публикуем аналитическую панель
    Res := PObj.Publish;
    // Выведем результат в окно консоли
    If (Res As Integer) = 0 Then Debug.WriteLine("Публикация выполнена успешно!");
        Debug.WriteLine("Путь публикации: " + PObj.ExportPath);
    Else
        Debug.WriteLine("При публикации возникла ошибка!");
    End If;
    If PObj.PublishWarnings <> 0 Then
        Debug.WriteLine("Предупреждение:");
        Debug.WriteLine(PObj.GetPublishWarningsText(PObj.PublishWarnings)[0]);
    End If;
    // Получим объект, содержащий последний результат публикации
    LastPubResult := Publicator.GetLastPublishResult;
    // Выведем в окно консоли последний результат публикации
    Debug.WriteLine("Наименование проблемного объекта - " + LastPubResult.ObjectName);
    Debug.WriteLine("Код результата публикации мобильного приложения - " + LastPubResult.Result.ToString);
End Sub UserProc;

После выполнения примера будет произведена публикация аналитической панели в указанный формат по заданному пути. В окно консоли будет выведен:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Mobile;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Mobile: IMobileApplication;
    Publicator: IMobileApplicationPublicator;
    PubObjs: IMobileApplicationPublishObjects;
    PubObj: IMobileApplicationPublishObject;
    PObj: IMobilePublishObject;
    Res: MobilePublishObjectResult;
    LastPubResult: IMobileApplicationPublicatorErrorObject;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим мобильное приложение
    Mobile := MB.ItemById["MA_PUB_ADHOC"].Bind() As IMobileApplication;
    // Создадим публикатор мобильного приложения
    Publicator := Mobile.CreatePublicator();
    // Отменим публикацию при первой ошибке
    Publicator.BreakOnError := True;
    // Получим коллекцию публикуемых объектов
    PubObjs := Publicator.Items;
    // Получим публикуемую аналитическую панель по ключу
    PubObj := PubObjs.ItemByKey[19869];
    PObj := PubObj.PublishObject;
    // Зададим путь публикации
    PObj.ExportPath := "C:\" + PObj.Object.Id + ".zip";
    // Публикуем аналитическую панель
    Res := PObj.Publish(Null);
    // Выведем результат в окно консоли
    If (Res As Integer) = 0 Then System.Diagnostics.Debug.WriteLine("Публикация выполнена успешно!");
        System.Diagnostics.Debug.WriteLine("Путь публикации: " + PObj.ExportPath);
    Else
        System.Diagnostics.Debug.WriteLine("При публикации возникла ошибка!");
    End If;
    If PObj.PublishWarnings <> 0 Then
        System.Diagnostics.Debug.WriteLine("Предупреждение:");
        System.Diagnostics.Debug.WriteLine(PObj.GetPublishWarningsText(PObj.PublishWarnings).GetValue(0).GetValue(0));
    End If;
    // Получим объект, содержащий последний результат публикации
    LastPubResult := Publicator.GetLastPublishResult();
    // Выведем в окно консоли последний результат публикации
    System.Diagnostics.Debug.WriteLine("Наименование проблемного объекта - " + LastPubResult.ObjectName);
    System.Diagnostics.Debug.WriteLine("Код результата публикации мобильного приложения - " + LastPubResult.Result.ToString());
End Sub;

См. также:

IMobileApplicationPublicator