Tempo aproximado para leitura: 00:04:30 min
Dúvida
Como gerar um relatório via Webservice RM?
Ambiente
Cross Segmentos - Backoffice RM - Integração - Todas as Versões.
Solução
Segue abaixo os passos para efetuar a geração de um relatório através do Webservices RM WsReport:
1° - GetReportInfo - Retorna as informações de filtro e parâmetros, caso o relatório possua.
2° - GenerateReport- Gera efetivamente o relatório e retorna o identificador a ser utilizado para fazer o download do relatório pelo método GetFileChunk.
3° - GetGeneratedReportSize - Retorna o tamanho do relatório em bytes. Este resultado é utilizado para fazer o download parcial ou total do relatório pelo método GetFileChunk.
4° - GetFileChunk - Retorna o relatório gerado em base 64 e no formato especificado no parâmetro filename do método GenerateReport.
Para o exemplo criamos um relatório, ao qual recebe 2 parâmetros a serem preenchidos para a correta geração do relatório.
Na geração padrão o relatório é corretamente gerado conforme os dados passados em seus parâmetros:
Foi utilizado a seguinte consulta SQL abaixo, para identificar o ID deste relatório:
SELECT * FROM RRPTREPORT
Utilize agora o serviço do GetReportInfo, para se obter as informações de filtros e parâmetros a serem preenchidos na requisição para a geração do relatório:
Com as informações obtidas do XML do GetReportInfo copie as informações necessárias para gerar o relatório em suas corretas tags e utilize o serviço GenerateReport:
Visto nosso relatório de exemplo possuir 2 parâmetros, foi copiado todo do CDATA e atribuído o valor para a geração do relatório ao serviço de GenerateReport:
Com a requisição realizada a este serviço GenerateReport, será gerada o GUID do relatório na tag GenerateReportResult, copie o GUID para gerar o ReportSize com o serviço GetGenerateReportSize:
Copie o GetGeneratedReportSizeResult para preencher o tamanho do relatório ao serviço do GetFileChunk. Com o serviço GetFileChunk preencha as informações do GUID obtido no GenerateReport e o Length obtido no GetGenerateReportSize, para gerar o relatório em Base64:
O GetFileChunkResult é gerado com o relatório em Base64, para conseguir visualizar o relatório, acesse um site que converta Base64 em PDF, por exemplo:
Processo completo da geração do Relatório em GIF:
Saiba Mais
Para mais informações, acesse a documentação abaixo:
WebServices Reports
0 Comentários