Relatório de E3Chart não mostra o Grafico

Bom dia,

Criei uma tela de grafico e um botão para gerar um relatório para impressão.
No Relatório estou utilizando o seguinte script:

Sub OnBeforePrint
set Chart = Report.Sections(“PageHeader”).Controls(“E3Chart1”)
set ChartTela = Application.GetFrame(“Centro”).Screen.Item(“E3Chart1”)
Chart.CopyConfig(ChartTela)
Chart.LoadData()
End Sub

Botão que chama o relatório:
Sub CommandButton2_Click()
Application.GetObject(“Dados.Inicio”).Value = Screen.Item(“E3Chart1”).HorScaleBegin
Application.GetObject(“Dados.Fim”).Value = Screen.Item(“E3Chart1”).HorScaleEnd
Screen.Item(“E3Chart1”).Legend.Visible = true
Set Report = Application.LoadReport(“Relatorio4”)
Report.PrintPreview()
Screen.Item(“E3Chart1”).Legend.Visible = false

End Sub

Quando Visualizo o Retatório, as curvas não aparecem. A legenda mostra as penas que eu selecionei, as escalas dos eixos aparecem certas, mas o gráfico fica em branco.

Copiei a tela do gráfico e relatório de outra aplicação que funcionava. Alguma ideia do que está errado ?

Relatório:

Boa tarde Ricardo,

O nome do quadro (“Centro”) onde está sendo aberta a tela que contém o E3Chart está correto?
Verifique o exemplo deste artigo:

Caso não solucione o problema, por gentileza envie sua aplicação para eu analisar (delio@elipse.com.br).

Está correto sim, inclusive se eu mudo dá erro.

Atualizei o Elipse da versão 5.0.0.437 para a 5.1.0.186 e agora funcionou !!!

Obrigado

Esse Gráfico possui apenas dados de tempo real?

Real e Histórico.

Esta funcionando com a versão nova do Elipse.
Obrigado

Boa tarde!

Minha aplicação está apresentado o mesmo problema apresentado neste tópico.

Veja os scripts que usei para gerar o relatório.

Script no relatório:
Sub OnBeforePrint
set Chart = Report.Sections(“PageHeader”).Controls(“E3Chart1”)
set ChartTela = Application.GetFrame(“QuadroCentral”).Screen.Item(“E3Chart1”)
Chart.CopyConfig(ChartTela)
Chart.LoadData()
End Sub

Chama o relatório:
Sub Figura2_Click()
auxDataInicial = Screen.Item(“spDataInicial”).Value
auxDataFinal = Screen.Item(“spDataFinal”).Value
set E3Chart = Screen.Item(“E3Chart1”)
set Report = Application.LoadReport("[Relatórios].ConsumoMTC")
Report.Item(“Consulta1”).SetVariableValue “FilDataInicial”, auxDataInicial
Report.Item(“Consulta1”).SetVariableValue “FilDataFinal”, auxDataFinal
Report.PrintPreview()
End Sub

A consulta do relatório está funcionando corretamente, inclusive é a mesma configuração/script utilizado para mostrar o gráfico na tela.
SELECT
CAST(FLOOR(CAST(E3TimeStamp as float)) as datetime) as Dia,
SUM(MM1Diff) as MM1,
SUM(MM2Diff) as MM2,
SUM(MM3Diff) as MM3,
SUM(MM4Diff) as MM4,
SUM(MM5Diff) as MM5,
SUM(MMTDiff) as MMT

FROM (SELECT E3TimeStamp
/* MM-01 /
,[MM1]
,[MM1] - (
SELECT TOP 1 [MM1]
FROM [MTC_CF_MM] b
WHERE a.E3TimeStamp > b.E3TimeStamp
ORDER BY b.E3TimeStamp DESC) as MM1Diff
/
MM-02 /
,[MM2]
,[MM2] - (
SELECT TOP 1 [MM2]
FROM [MTC_CF_MM] b
WHERE a.E3TimeStamp > b.E3TimeStamp
ORDER BY b.E3TimeStamp DESC) as MM2Diff
/
MM-03 /
,[MM3]
,[MM3] - (
SELECT TOP 1 [MM3]
FROM [MTC_CF_MM] b
WHERE a.E3TimeStamp > b.E3TimeStamp
ORDER BY b.E3TimeStamp DESC) as MM3Diff
/
MM-04 /
,[MM4]
,[MM4] - (
SELECT TOP 1 [MM4]
FROM [MTC_CF_MM] b
WHERE a.E3TimeStamp > b.E3TimeStamp
ORDER BY b.E3TimeStamp DESC) as MM4Diff
/
MM-05 /
,[MM5]
,[MM5] - (
SELECT TOP 1 [MM5]
FROM [MTC_CF_MM] b
WHERE a.E3TimeStamp > b.E3TimeStamp
ORDER BY b.E3TimeStamp DESC) as MM5Diff
/
MM-T /
,[MMT]
,[MMT] - (
SELECT TOP 1 [MMT]
FROM [MTC_CF_MM] b
WHERE a.E3TimeStamp > b.E3TimeStamp
ORDER BY b.E3TimeStamp DESC) as MMTDiff
FROM [MTC_CF_MM] a) as DIFERENCA
WHERE ( DIFERENCA.E3TimeStamp >= #<%FilDataInicial%># AND DIFERENCA.E3TimeStamp <= #<%FilDataFinal%># )
/
WHERE ( MTC_CF_MM.E3TimeStamp >= #<%FilDataInicial%># AND MTC_CF_MM.E3TimeStamp <= #<%FilDataFinal%># ) */
GROUP BY CAST(FLOOR(CAST(E3TimeStamp as float)) as datetime)

Quando visualizo o relatório, aparecem as legenda, conforme as penas selecionadas, as escalas dos eixos aparecem conforme mostrado na tela da aplicação, mas o gráfico fica em branco.

Utilizo penas históricas e a versão do elipse é a 4.8.352

O E3Chart estava utilizando uma consulta inserida em outro objeto (TelaDB.E3Browser1.Consulta1) para plotar as penas.
Após inserir um objeto consulta no próprio E3Chart, e ajustar a configuração das penas, a impressão do gráfico foi realizada.

1 Like