Imprimir Gráfico do PenGroup


(Ricardo Ferreira) #1

Bom dia,

Estou tentando imprimir um gráfico utilizando opo XControl Chart da biblioteca Pengroup, mas o grafico sai vazio.
Na Associação “ReportPath” eu inseri o nome do meu relatório “RelatórioGrafico”.
No RelatórioGrafico, eu inseri um E3Chart no PageHeader, e inseri o seguinte script:

Sub OnBeforePrint
set chart = report.Sections(“PageHeader”).Controls(“E3Chart1”) 'Indica o caminho do objeto no relatório
set chartfonte = Application.GetFrame(“Direito”).Screen.Item(“Chart1”) 'Caminho do Chart “Fonte” (aquele que está na aplicação)
chart.CopyConfig(chartfonte)
chart.LoadData()
End Sub

O Grafico aparece em branco, como se a instrução CopyConfig não funcionasse. O que estou fazendo de errado ?
Obrigado


(Luiz Fernando Freire dos Reis) #2

@Elecontrol, boa tarde.

Ao invés do CopyConfig, tenta a solução deste artigo.

Sds.


(Ricardo Ferreira) #3

Ok, mas eu estou usando a biblioteca pengroup, onde o usuário cria seus próprios grupos de penas. Pelo que eu vi nessa solução eu tenho que pre-criar a minha lista de penas manualmente ?


(Luiz Fernando Freire dos Reis) #4

@Elecontrol,

Entendido.

Quando manda imprimir, o que aparece?


(Ricardo Ferreira) #5


(Luiz Fernando Freire dos Reis) #6

Certo.

Tenta utilizando o script do capítulo 6 do PenGroup:

Sub OnBeforePrint
Set Chart = Report.Sections("PageHeader").Controls("E3Chart1")
Set chartlib = Application.GetFrame().Screen.Item("Chart1")
Set OriginChart = chartlib.ChartPointer
Chart.CopyConfig(OriginChart)
For i = 0 To Chart.Queries.Count - 1
Set Query = Chart.Queries.Item(i)
Query.SetVariableValue "StartTime", Chart.HorScaleBegin
Query.SetVariableValue "EndTime", Chart.HorScaleEnd
Next
Chart.LoadData()
End Sub

Obs.: Na linha Set chartlib = Application.GetFrame().Screen.Item("Chart1") não esquecer de colocar o frame aonde o objeto se encontra.

Por favor, testar.

Sds.


(Ricardo Ferreira) #7

Perfeito !!

Agora funcionou.
Muitíssimo Obrigado !!