Boa tarde.
Estou desenvolvendo uma aplicação onde o cliente deseja ter gráficos nos relatórios gerados. Entretanto, este gráfico precisa ser filtrado por meio de uma data inicial, e uma data final.
O gráfico da tela pode ser filtrado normalmente pelos setpoints que estão no box “gráfico” (segue imagem abaixo).
O gráfico que está no relatório deve ter seu filtro definido pelos setpoints que estão no box “relatório”. Estes setpoints abrem um datepicker para o usuário selecionar as datas, logo não posso fazer uma cópia do gráfico que está na tela…
Estou tendo dificuldades em pegar os valores destes dois set points do box “relatório” e inserir eles como filtro para o e3chart inserido no relatório.
Defini na consulta do e3chart do relatório um campo chamado “DATA HORA” que contém o seguinte filtro: >= #<%DataInicial%># AND <= #<%DataFinal%>#
Visualização tela :
Achei este script para colocar no relatório, precisa de ajustes que não sei como resolver
Sub OnBeforePrint
Set Chart = Report.Sections("PageHeader").Controls("E3Chart1") 'Armazena o caminho do E3Chart na tela na variável Chart
Set Consulta = Chart.Queries.Item("Consulta1") 'Armazena o caminho da consulta do E3Chart na variável Consulta
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
End Sub