Exportando um relatório gráfico sem que o E3Chart esteja sendo visualizado na tela.

Em algumas situações, é necessário exportar um relatório gráfico automaticamente, sem a intervenção do operador. Para isso, é preciso configurar o objeto Chart do Relatório de Seção para que os dados sejam carregados corretamente, já que o método CopyConfig do E3Chart não será utilizado.

Este artigo descreve os procedimentos necessários para essa configuração:

1. Criação do Relatório de Seção
Crie um Relatório de Seção e insira um E3Chart na sessão PageHeader.

 

2. Configuração da Consulta
Acesse as propriedades do E3Chart inserido e configure a Consulta que será utilizada pelas penas históricas. Caso seja necessário aplicar filtros, configure-os neste momento.

Nota: Assegure-se de que a configuração está sendo feita na Consulta do E3Chart, e não na Consulta do Relatório de Seção.

3. Criação das Penas Históricas
Crie e configure penas históricas para cada um dos campos selecionados na Consulta.

4. Configuração da Escala Horizontal
Defina a escala do eixo horizontal para que seja exibido o intervalo de tempo histórico desejado.

5.  Configuração do Script de Exportação

Crie um Tag Timer e adicione um script no evento OnPreset. Neste script, preencha os valores de data inicial e final, configure o filtro da Consulta do E3Chart, execute a Consulta, carregue os resultados e, por fim, exporte o Relatório de Seção.

Exemplo de script no evento OnPreset:

  1. Sub Export_OnPreset()
  2. Parent.Item("DataIni").Value = now-1/24/60 'Horário atual menos um minuto
  3. Parent.Item("DataFim").Value = now 'Horário atual
  4. Set Report = Application.LoadReport("RelatorioSecao1")
  5. Set Chart = Report.Item("E3Chart1")
  6. Set Consulta = Report.Item("E3Chart1").Item("Consulta1")
  7. Consulta.SetVariableValue "DataInicial", Application.GetObject("Dados.DataIni").Value 'Define o valor da variável DataInicial do filtro
  8. Consulta.SetVariableValue "DataFinal", Application.GetObject("Dados.DataFim").Value 'Define o valor da variável DataFinal do filtro
  9. Consulta.Execute() 'Executa a consulta com o filtro
  10. Chart.LoadData() 'Carrega o resultado da consulta dentro do Chart
  11. Chart.FitAll() 'Organiza para que nenhum dado fique fora dos eixos
  12. Chart.HorScaleBegin = Application.GetObject("Dados.DataIni").Value 'Define a data inicial do eixo horizontal
  13. Chart.HorScaleEnd = Application.GetObject("Dados.DataFim").Value 'Define a data final do eixo horizontal
  14. Report.Export "PDF", "C:\GraphReportS.pdf"
  15. End Sub
Sub Export_OnPreset()
    Parent.Item("DataIni").Value = now-1/24/60  'Horário atual menos um minuto
    Parent.Item("DataFim").Value = now 'Horário atual
    Set Report = Application.LoadReport("RelatorioSecao1")
    Set Chart = Report.Item("E3Chart1")
    Set Consulta = Report.Item("E3Chart1").Item("Consulta1")
    Consulta.SetVariableValue "DataInicial", Application.GetObject("Dados.DataIni").Value 'Define o valor da variável DataInicial do filtro
    Consulta.SetVariableValue "DataFinal", Application.GetObject("Dados.DataFim").Value 'Define o valor da variável DataFinal do filtro
    Consulta.Execute() 'Executa a consulta com o filtro
    Chart.LoadData() 'Carrega o resultado da consulta dentro do Chart
    Chart.FitAll() 'Organiza para que nenhum dado fique fora dos eixos 
    Chart.HorScaleBegin = Application.GetObject("Dados.DataIni").Value 'Define a data inicial do eixo horizontal
    Chart.HorScaleEnd = Application.GetObject("Dados.DataFim").Value 'Define a data final do eixo horizontal
    Report.Export "PDF", "C:\GraphReportS.pdf"
End Sub

Este script realiza as seguintes ações:

– Define a data inicial e final.
–  Atualiza as variáveis de filtro da consulta.
– Executa a consulta e carrega os dados no E3Chart.
– Ajusta a escala do gráfico.
– Exporta o Relatório de Seção para um arquivo PDF.

Anexos:

GraphExportS.zip

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *

Floating button icon
Pesquise com IA