IPrxTable.CreatePrinter

Синтаксис Fore

CreatePrinter: ITabSheetPrinter;

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

CreatePrinter: Prognoz.Platform.Interop.Tab.ITabSheetPrinter;

Описание

Метод CreatePrinter создает объект, позволяющий работать c листом отчета, подготовленным к печати.

Комментарии

При вызове данного метода осуществляется разбивка листа на отдельные страницы в соответствии с настройками, заданными в свойстве IPrxSheet.PageSettings. Также учитываются заголовки и параметры верхнего и нижнего колонтитулов страниц отчета.

Пример Fore

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

Sub UserProc;
Var
    MB: IMetabase;
    Rep: IPrxReport;
    Sheets: IPrxSheets;
    Tab: IPrxTable;
    TabPrint: ITabSheetPrinter;
Begin
    MB := MetabaseClass.Active;
    Rep := MB.ItemById("Report_1").Bind As IPrxReport;
    Sheets := Rep.Sheets;
    For Each Tab In Sheets Do
        TabPrint := Tab.CreatePrinter;
        Debug.WriteLine("Лист: " + (Tab As IPrxSheet).Name +
            "; Количество страниц: " + TabPrint.GetPageCount.ToString);
    End For;
End Sub UserProc;

При выполнении примера в консоль среды разработки будет выведен список листов регламентного отчета. Для каждого листа будет выведено количество страниц, на которые он будет разбит при печати.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Rep: IPrxReport;
    Sheets: IPrxSheets;
    Tab: IPrxTable;
    TabPrint: ITabSheetPrinter;
Begin
    MB := Params.Metabase;
    Rep := MB.ItemById["Report_1"].Bind() As IPrxReport;
    Sheets := Rep.Sheets;
    For Each Tab In Sheets Do
        TabPrint := Tab.CreatePrinter();
        System.Diagnostics.Debug.WriteLine("Лист: " + (Tab As IPrxSheet).Name +
            "; Количество страниц: " + TabPrint.GetPageCount().ToString());
    End For;
End Sub;

Данная процедура является точкой входа для .NET-сборки. При выполнении примера в консоль среды разработки будет выведен список листов регламентного отчета. Для каждого листа будет выведено количество страниц, на которые он будет разбит при печати.

См. также:

IPrxTable