IPrxReport.LoadFromStream

Синтаксис Fore

LoadFromStream(Stream: IIOStream);

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

LoadFromStream(Stream: System.IO.Stream);

Параметры

Stream. Поток, содержащий регламентный отчет.

Описание

Метод LoadFromStream загружает регламентный отчет из потока, передаваемого посредством параметра Stream.

Комментарии

Регламентный отчет в поток может быть сохранен с помощью метода SaveToStream, либо загружен из пользовательского поля таблицы. Более подробно работа с полями пользовательского типа описана в базе знаний в статье «Работа с полями, имеющими пользовательский тип данных».

Пример Fore

Для выполнения примера предполагается наличие в репозитории:

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

Пример является обработчиком события OnClick для компонента «Button1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    Report: IPrxReport;
    RepStream: IIOStream;
Begin
    MB := MetabaseClass.Active;
    RepStream := New MemoryStream.Create;
    //Открытие регламентного отчета
    Report := MB.ItemById("REPORT").Edit As IPrxReport;
    Report.SaveToStream(RepStream, PrxReportSaveMode.DefinitionOnly);
    RepStream.Position := 0;
    Report.LoadFromStream(RepStream);
    //Вывод регламентного отчета в компонент на форме
    UiReport1.OperationMode := UiMetabaseObjectOperationMode.External;
    UiReport1.Active := True;
    UiReport1.Instance := Report;
    Dispose RepStream;
End Sub Button1OnClick;

При нажатии на кнопку с помощью метода LoadFromStream из потока RepStream в компонент «UiReport1» будет выгружен регламентный отчёт.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.KeFore;
Imports System.IO;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    Report: IPrxReport;
    RepStream: Stream;
Begin
    MB := Self.Metabase;
    RepStream := New MemoryStream.Create();
    //Открытие регламентного отчета
    Report := MB.ItemById["REPORT"].Edit() As IPrxReport;
    Report.SaveToStream(RepStream, PrxReportSaveMode.prsmDefinitionOnly);
    RepStream.Position := 0;
    Report.LoadFromStream(RepStream);
    //Вывод регламентного отчета в компонент на форме
    uiReportNet1.ReportUi.OperationMode := UiMetabaseObjectOperationMode.oomExternal;
    uiReportNet1.Active := True;
    uiReportNet1.ReportUi.Instance := Report;
    RepStream := Null;
End Sub;

См. также:

IPrxReport