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.