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:
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.

