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:
Relatório - Inserir Data, Usuário no cabeçalho
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, Nullable
1 globalcodeline, Nullable1 namedItemLine, IList
1 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.
Eu criei as TAGs abaixo do Viewer e funcionou com o código que enviou.
Muito obrigado.
Se as tags estivessem na Tela ou no Servidor tinha outras opções:
Tentei utilizar o método GetScreenValue, mas não deu certo.
Por enquanto utilizar a variável no Viewer mesmo.