Ao criar um E3Chart em um relatório, é necessário prestar atenção em pequenas diferenças de funcionamento deste objeto na aplicação e no relatório. Quando usado em uma aplicação, o E3Chart pode plotar gráficos e obter dados em tempo real, históricos ou ambos. Já no caso dos relatórios, a utilização de dados em tempo real não é possível.
Além disso, o E3Chart pode ser configurado de acordo com as preferências do usuário, e suas propriedades podem ser acessadas via scripts do relatório. Note porém que nenhum objeto do relatório pode ser acessado externamente. Isto significa que, ao criar um relatório pelo aplicativo, não é possível acessar suas propriedades via scripts, e nem tampouco seus objetos. Portanto, as configurações dos objetos, incluindo as do E3Chart, só podem ser feitas diretamente no E3Studio ou em eventos do próprio relatório.
A aplicação mais comum de um E3Chart em um relatório é desenhar no relatório um gráfico histórico que está sendo mostrado na tela do aplicativo. Para isto, siga estes procedimentos:
- No E3Chart inserido na tela, confirme a existência de dados históricos (para penas mistas e/ou históricas).
- Insira um objeto E3Chart no relatório (no exemplo a seguir, o objeto E3Chart é inserido na seção PageHeader do relatório). Note que o E3Chart não pode ser inserido na seção Details do relatório.
- Crie o seguinte script no evento OnBeforePrint do relatório:
Sub OnBeforePrint set chart = report.Sections("PageHeader").Controls("E3Chart1") 'Indica o caminho do objeto no relatório set chartfonte = Application.GetFrame().Screen.Item("E3Chart1") 'Caminho do Chart "Fonte" (aquele que está na aplicação) chart.CopyConfig(chartfonte) chart.LoadData() End Sub
Após ter criado este script conforme as configurações do seu aplicativo, o gráfico será visualizado com os mesmos dados e mesma aparência observados na tela.