Relatório - Inserir Data, Usuário no cabeçalho

Boa tarde.
Estou tentando inserir a data atual, usuário logado e data inicial e final da consulta no cabeçalho do relatório e não está dando certo.
Tentei fazer de acordo com o artigo abaixo:

Esse artigo se refere ao objeto Relatório. Para o objeto mais novo, Relatório de Seção, use a função GetViewerValue no script do relatório.
Ao invés de configurar o DataField dos campos, use o script dentro do relatório para configurar o valor dos campos usando a função GetViewerValue(“DataIni.Value”), por exemplo.

Boa tarde João.

Esse é meu primeiro projeto no E3.
Fiz algumas pesquisas aqui, tentei implementar o código da forma que mencionou, mas não consegui nenhum resultado satisfatório.
Vou colocar algumas coisas que cheguei a fazer logo abaixo:

Segue o erro:
Exception details:
GrapeCity.ActiveReports.ReportScriptException: Report Script Compile Error on line 7:
‘GetViewerValue’ não está declarado. Pode estar inacessível devido ao nível de proteção.

em GrapeCity.ActiveReports.DDScripting.CheckErrors(String source, IEnumerable1 results, Nullable1 globalcodeline, Nullable1 namedItemLine, IList1 expressionLineList)
em GrapeCity.ActiveReports.DDScripting.Compile()
em GrapeCity.ActiveReports.DDScripting.ExecuteMethod(String methodName, Object[] parameters, Boolean& success)
em GrapeCity.ActiveReports.SectionReport.RaiseReportStartScript()
em GrapeCity.ActiveReports.SectionReport.ProcessInit(Boolean bDelayedInit)
em GrapeCity.ActiveReports.SectionReport.RunImpl(Boolean syncDocument)
em GrapeCity.ActiveReports.SectionReport.Run(Boolean syncDocument)
em GrapeCity.ActiveReports.Viewer.Common.Internal.RpxReport.LoadDocument(SectionDocument document)
em GrapeCity.ActiveReports.Viewer.Common.Internal.RdfDocumentReportBase.<>c__DisplayClass19_0.b__4()
em GrapeCity.ActiveReports.Viewer.Common.AsyncLoader.<>c__DisplayClass9_0.b__2(Object , DoWorkEventArgs )
em System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
em System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Agradeço a atenção.

Ah sim, essa linha ali que você apontou, faça assim:
Me.Label2.Value = Application.GetViewerValue("spDataInicial")

Veja se vai funcionar.

Ainda não funcionou meu caro.
Segue o erro que retornou.

Exception details:
System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. —> System.Runtime.InteropServices.COMException: Erro HRESULT E_FAIL foi retornado de uma chamada para o componente COM.
em Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
em Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
em Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
em Script.ReportScript.ActiveReport_ReportStart()
— Fim do rastreamento de pilha de exceções internas —
em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
em System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
em GrapeCity.ActiveReports.DDScripting.ExecuteMethod(String methodName, Object[] parameters, Boolean& success)
em GrapeCity.ActiveReports.SectionReport.RaiseReportStartScript()
em GrapeCity.ActiveReports.SectionReport.ProcessInit(Boolean bDelayedInit)
em GrapeCity.ActiveReports.SectionReport.RunImpl(Boolean syncDocument)
em GrapeCity.ActiveReports.SectionReport.Run(Boolean syncDocument)
em GrapeCity.ActiveReports.Viewer.Common.Internal.RpxReport.LoadDocument(SectionDocument document)
em GrapeCity.ActiveReports.Viewer.Common.Internal.RdfDocumentReportBase.<>c__DisplayClass19_0.b__4()
em GrapeCity.ActiveReports.Viewer.Common.AsyncLoader.<>c__DisplayClass9_0.b__2(Object , DoWorkEventArgs )
em System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
em System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Desde já agradeço.

“spDataInicial” é uma tag que é filha do objeto Viewer? Onde ela está?

Segue a localização.

image

Eu criei as TAGs abaixo do Viewer e funcionou com o código que enviou.
Muito obrigado.

image

1 Like

Se as tags estivessem na Tela ou no Servidor tinha outras opções:

https://docs.elipse.com.br/documents/pt-br/e3/latest/manual/script/e3script_e3sectionreport_e3applicationlink_method.htm

Tentei utilizar o método GetScreenValue, mas não deu certo.
Por enquanto utilizar a variável no Viewer mesmo.