Histórico da Página
Âncora | ||||
---|---|---|---|---|
|
|
|
Projeto/Versão: RM Reports / 11.80.40 | Data Especificação: 29/06/15 |
Erlon César – Framework BH |
|
...
Nome do parâmetro | Tipo | Descrição |
ParametersReport | Lista | Parâmetros criados no relatório |
ParametersProvider | Lista | Parâmetros de provider usados no provider do relatório |
FiltersReport | Lista | Filtros disponíveis no relatório. |
FiltersFormulas | MemoryStream | Filtros de fórmula disponíveis no relatório |
DataSourceSchema | MemoryStream | Schema da fonte de dados do relatório. |
MemberInfo | Membros | Informações dos membros de dados do report. |
ExecuteReport: principal método da API. Ele executa o relatório e retorna informações da execução através do objeto RptExecutorReturn.
...
Nome do parâmetro | Tipo | Descrição |
codColigada | int | Código da coligada |
idReport | int | Identificador do relatório |
codUsuario | String | Código do usuário |
params | RptExecutorPar | Contem características de execução do relatório |
Retorno:
Tipo | Descrição |
RptExecutorReturn | Características de retorno de execução do relatório |
...
Nome do parâmetro | Tipo | Descrição |
CallBackExecutionProgress | Action<> | Comunicação de incremento de barra de progresso. |
CallBackMessageExecution | Action<> | Envio de mensagens do processo de execução. |
ParametersReport | Lista | Parâmetros do relatório |
ParametersProvider | Lista | Parâmetros do provider |
FiltersReport | Lista | Filtros do relatório |
FiltersFormula | Lista | Filtros de formula |
ExportFileType | RptExportFileType | Tipo de exportação do relatório após sua geração. São eles: CSV, JPEG, HTML, XLSX, MHT, PDF, RTF, TXT |
GenerateDiagnostics | bool | Informa se é para gerar as informações de diagnóstico da execução do relatório. |
GenerateType | RptReportGenerateType | Forma de geração do relatório. |
StopExecutionOnError | bool | Finaliza ou não a execução do relatório em caso de erro. Todas as informações de erros são gravadas no diagnóstico de execução se o mesmo for "true". |
MaxRowNumberPrint | Int | Número máximo de linhas a serem impressas. O default 0 indica que é para imprimir todas as linhas. |
ContextStr | String | Objeto RMSContext na forma de string. |
DataSourceExternal | DataSet | DataSet preenchido com informações a serem usadas na geração do relatório. |
ReturnLayout | bool | Informa se é para retornar o layout do relatório para rotina chamadora. |
AddGroupFields | Lista | Adiciona groupFields antes da execução |
ClearAllGroupFields | Lista | Permite limpar todos os groupFields no relatório antes da execução |
RemoveBands | Lista | Bandas a serem removidas antes da execução. |
DataMemberExternalMain | String | Nome do dataMember principal |
StartPageNumber | int | Número inicial da página em caso utilização do controle de numeração de página customizada. |
ExecutePartialReport: Executa o relatório de forma parcial. Utilizado para execução de grandes relatórios e passando a fonte de dados externamente. Resolve o problema de estouro de memória da DevExpress.
...
Tipo | Descrição |
RptExecutorPartialReturn | Características de retorno de execução parcial do relatório |
RptExecutorPartialReturn
Nome do parâmetro | Tipo | Descrição |
PrintReport | MemoryStream | Resultado final da execução do relatório. O conteúdo dessa propriedade pode ser enviado para serviços de impressão. |
...
RptReport report;
DataTable reporttable = RptUtilsData.LoadDataTableReport(codColRel, IdRel);
report = RptUtilsData.LoadReport(reporttable.Rows[0], this.parameters.Context.CodUsuario);
string filter = string.Format("TMOV.CODCOLIGADA = {0} AND TMOV.IDMOV = {1}", CodColigada, IdMov);
report.FilterSQLExpression = filter;
report.PreviewRowCount = 0;
report.RequestParameters = false;
report.CreateDocument();
return stream.ToArray();
Código depois
//Instancia a classe RptExecutorServer reponsável em gerar o relatório do server.
IRptExecutor executorServer = RM.Lib.RMSBroker.CreateServer<IRptExecutor>("RptExecutorServer");
//Recupera as informações do report. ex: filtros do report, parametros do report.
RptReportInfo repInfo = executorServer.GetReportInfo(codColRel, IdRel, this.parameters.Context.CodUsuario);
//Recupera o objeto que representa o filtro principal do report.
//Para isso foi utlizado o Helper "RptReportInfoHelper" que possui uma série de metodos que ajuda manipular
//o objeto RptReportInfo.
RptFilterReportPar mainFilter = RptReportInfoHelper.GetMainFilter(repInfo);
//Configura o filtro necessário.
mainFilter.Value = string.Format("TMOV.CODCOLIGADA = {0} AND TMOV.IDMOV = {1}", CodColigada, IdMov);
//Instancia a classe de parametros do método.
RptExecutorPar parms = new RptExecutorPar();
//Adiciona o filtro para os parametros.
parms.FiltersReport.Add(mainFilter);
//Configura o tipo de exportação.
parms.GenerationType = RptReportGenerationType.File;
parms.ExportFileType = RptExportFileType.PDF;
//Executa o relatório.
RptExecutorReturn result = executorServer.ExecuteReport(codColRel, IdRel, this.parameters.Context.CodUsuario, parms);
//Retorna o relatório gerado para alguma outra rotinal
return result.PrintReport;
Âncora | ||||
---|---|---|---|---|
|
...
Tipo | Descrição |
RptExecutorClientReturn | Características de retorno de execução do relatório no cliente. |
RptExecutorClientReturn
Nome do parâmetro | Tipo | Descrição |
ExecutionStatus | RptExecutionStatus | Status de execução. [Sucesso ou erro] |
ExecutionMessage | string | Mensagem de erro (em caso de erro) |
PrintReport | MemoryStream | Resultado da execução do relatório. O conteúdo dessa propriedade pode ser enviado para serviços de impressão. |
CodRelatorio | string | Código do relatório gerado. |
DescRelatorio | string | Descrição do relatório gerado. |
LayoutReport | MemoryStream | Layout do relatório |
Exemplos de uso (lado client):
...
//Instancia o objeto de execução do client.
RptExecutorClient exClient = new RptExecutorClient();
//Instancia o objeto de parametros para ser enviado para a classe de execução do client.
RptExecutorClientParams execParams = new RptExecutorClientParams();
//Adiciona valor para o parâmetro "CODCOLIGADA_N" do provider.
exClient.AddParamsProvider("CODCOLIGADA_N", 1);
//Adiciona valor para o parâmetro "IDCTE_N" do provider.
exClient.AddParamsProvider("IDCTE_N", 5);
//Seta o tipo de exportação para PDF.
execParams.GenerationType = RptGenerationType.File;
execParams.ExportFileType = RptExportFileType.PDF;
//O relatório gerado será mostrado após sua execução.
execParams.ShowReport = true;
//O relatório gerado será mostrado em uma janela modal.
execParams.ShowDialog = true;
//Não mostra a janela para preenchimento dos valroes dos parametros pois os mesmos já foram preenchidos.
execParams.ShowParameters = false;
exClient.ExecuteReport(1, 115, RMSSession.Context.CodUsuario, execParams);
Exemplo2: execução de relatório no "client" passando parâmetro para o report;
...