Descrição:
Como posso escolher a orientação de impressão (Paisagem ou Retrato) de um Relatório de Seção no Elipse E3?
Solução:
Para escolher a orientação da impressão de seu relatório, acesse as configurações do relatório de seção no Studio, e então clique no botão Configurar relatório.
Esta ação abre uma janela. Nela, selectione a opção Printer Settings na aba lateral. Na opção Orientation, escolha entre Portrait (Retrato) ou Landscape (Paisagem).
Para alterar essa opção em tempo de execução, deve-se alterar a propriedade Orientation do objeto PageSettings do relatório. Para isso é necessário criar um script neste relatório que altere suas propriedades.
Exemplo:
- Crie um TagInterno (ex: Pagetype);
- No relatório acesse a janela Script Editor (botão com a folha branca e engrenagem azul).
- Selecione o objeto ActiveReport Document e, dentro do evento ReportStart, insira o script que altera a seguinte propriedade, conforme a orientação desejada: “rpt.PageSettings.Orientation”.
Sub ActiveReport_ReportStart dim Application = Activator.CreateInstance(Type.GetTypeFromProgID("Reports.E3ApplicationLink")) Application.LinkWithApplication(rpt) 'Orientação da impressão If Application.GetViewerValue("PageType") = 1 then rpt.PageSettings.Orientation = GrapeCity.ActiveReports.Document.Section.PageOrientation.Portrait Else rpt.PageSettings.Orientation = GrapeCity.ActiveReports.Document.Section.PageOrientation.Landscape End If End Sub
Sub CommandButton1_Click() IF MsgBox("Imprimir em modo paisagem?", vbQuestion+vbYesNo, "Orientação da página") = vbYes THEN Application.Item("PageType").Value = 2 ELSE Application.Item("PageType").Value = 1 End IF Set Report = Application.LoadReport("RelatorioSecaoDetalhado") Report.Print() End Sub