Relatórios

<< Clique para Mostrar o Sumário >>

 

Relatórios

Como colocar a data e a hora atual em um Relatório do E3?

Existem pelo menos duas alternativas:

Coloque um objeto Texto na Seção Page Header e, no evento OnFormat desta Seção, escreva o seguinte script (Label1 é o nome do objeto Texto):

Report.Sections("PageHeader").Controls("Label1")._
  Caption = Now

 

Crie um Tag Demo do tipo CurrentTime. No cabeçalho ou no rodapé do Relatório, deve-se inserir um objeto SetPoint e, na propriedade DataField, deve-se digitar o nome completo do Tag (por exemplo, "Dados.TagDemo1.Value"). Configure o formato da data desejada. Isto pode ser feito clicando com o botão direito do mouse no objeto e ajustando as suas propriedades, ou então digitando diretamente o formato na propriedade OutputFormat, na Lista de Propriedades (um exemplo de formato de data é "dd/MM/yyyy hh:mm:ss").

 

Tenho um Relatório que mostra o resultado de uma Consulta que possui um filtro por data. Quando o Relatório é gerado, a Consulta não retorna os valores configurados via script para estas variáveis. Como solucionar este problema?

Verifique, no script que configura ou acessa este Relatório, se após os valores para as variáveis da Consulta terem sido configurados não foi acionado o método LoadReport, já que este método carrega o Relatório com as configurações realizadas no E3 Studio. Utilize somente uma vez o método LoadReport no script, carregando o Relatório para uma variável (através do comando Set).

 

Como executar corretamente um Relatório que utiliza o método CopyConfig para copiar para si as configurações de um E3Chart em Tela?

O método CopyConfig não copia os valores de variáveis de consulta, sendo necessário executar este procedimento via script dentro do gráfico. As Penas configuradas no E3Chart em Tela são do tipo Real.

 

Como criar um filtro por datas no Relatório?

Crie uma Consulta SQL no Relatório filtrando por data inicial e final. Na Tela onde se deseja gerar este Relatório, deve-se executar a Consulta SQL configurada passando os valores de data inicial e final. O script do botão na Tela onde é gerado o Relatório, por exemplo, pode ser implementado da seguinte forma:

DataInicial = CDate(Screen.Item("TextoDataInicial").Value)
DataFinal = CDate(Screen.Item("TextoDataFinal").Value)
Set Report1 = Application.LoadReport("Report1")
Set Consulta = Report1.Item("Query1")
Consulta.SetVariableValue "DataInicial", (DataInicial)
Consulta.SetVariableValue "DataFinal", (DataFinal)
Report1.PrintPreview()

 

Como mostrar as datas utilizadas como filtro na Consulta na Seção Page Header do Relatório?

Primeiro, adicione dois SetPoints na Seção Page Header (um para mostrar a data inicial e outro para a data final) e crie um script que passe os valores que foram carregados nos SetPoints da Tela (e transferidos para a Consulta) para estes dois SetPoints. O script a ser criado na Seção Page Header, no evento OnBeforePrint do Relatório é o seguinte:

Set dados = Application.GetFrame().Screen
Report.Sections("PageHeader").Controls("Field5").Text = _
  dados.Item("TextoDataInicial").Value
Report.Sections("PageHeader").Controls("Field6").Text = _
  dados.Item("TextoDataFinal").Value

 

Depois, associe dois Tags Internos aos SetPoints da Tela onde são especificadas as datas. Associe estes Tags aos SetPoints no Relatório.

 

Como imprimo dois Relatórios em impressoras diferentes?

Crie o seguinte script no evento OnReportStart do Relatório:

Sub OnReportStart
  Report.Printer.DeviceName = "Nome da Impressora"
End Sub

 

Como utilizo o evento de script OnError para mostrar uma mensagem de erro quando falhar a impressão do Relatório?

O evento OnError do Relatório não permite que sejam executados scripts dentro dele, servindo somente para seu uso interno. Isto significa que não é possível alterar a mensagem de erro, nem executar algum outro procedimento a partir deste evento.

Esta página foi útil?