Com o objetivo de facilitar o desenvolvimento de geração de relatórios Smart View de forma assíncrona utilizando RPW / Automação de tarefas, foi desenvolvida uma classe que centralizará as informações necessárias para execução de pedidos agendados.
A classe GenerateReport() será responsável por recuperar o ID do pedido de execução com base nos parâmetros recebidos. Com essa informação, será realizado o refresh do token de autenticação para a execução dos pedidos agendados referentes ao relatório solicitado, e, em seguida, o relatório será recuperado no endpoint do Smart View.
Nome | Tipo | Descrição |
---|---|---|
pOrder | INTEGER | Código do pedido de execução. |
pLayoutName | CHARACTER | Nome do relatório do Cadastro de Programas Datasul. |
pReportParams | JSONOBJECT | Objeto com os parâmetros do relatório. |
pFormat | CHARACTER | Formato do relatório. Formatos permitidos: .csv, .docx, .html, .jpeg, .mht, .pdf, .png, .rtf, .txt, .xls, .xlsx. |
O nome externo do relatório cadastrado em Programas Datasul - bas_prog_dtsul será inserido no escopo de programas permitidos a utilizarem o token de autenticação do pedido agendado. Sendo assim, é de extrema importância que este cadastro esteja correto ou o relatório não será gerado. |
02.2 Instância da classe
USING com.totvs.framework.smartview.GenerateReport. DEFINE VARIABLE oGenerateReport AS GenerateReport NO-UNDO. oGenerateReport = NEW GenerateReport(pOrder, pLayoutName, pReportParams, pFormat). |
oGenerateReport:getReport(). |
{ "progIni":["rpHistorLogin"], "progFim":["rpHistorLogin"] } |
O json de parâmetros do relatório deve estar de acordo com o Objeto de Negócio do mesmo. |
|
O diretório de saída dos relatórios será o spool do usuário responsável pelo agendamento de execução dos pedidos, cadastrado no programa SEC000AA.
Para evitar erros na execução, considerar as seguintes informações: