O Report é a entidade responsável pela interligação e execução de um Layout e seus Datasets pelo Protheus.

Pelo Report podemos definir um Layout a ser executado e alguns parâmetros de exibição com a chamada da função.

Estrutura de um Report

Para definir um Report podemos utilizar alguns comandos da metalinguagem do Birt:

  • NAME: Nome do Report;
  • TITLE: Título do Report;
  • ASKPAR: Indica se exibe a janela de solicitação de perguntas antes da janela de configuração de impressão
  • EXCLUSIVE: Quando utilizado, Datasets do Report que utilizem perguntas beaseadas no arquivo de Perguntas Padráo (SX1) que se repetem, somente serão exibidos uma única vez;

Após a definição, para ativar-se a impressão do Report, devem ser utilizados os comandos:

  • ACTIVATE REPORT: Comando utilizado para iniciar a execução do Report;
  • LAYOUT: Informa o arquivo .rptdesign previamente desenvolvido e compilado no RPO para processamento do Report;
  • FORMAT: Define o modo de visualização do Report, que podem ser HTML ou PDF; 
    • HTML: Demonstra o resultado em tela, pelo navegador definido como padrão no sistema operacional;
    • PDF: Executa o processamento do Report pelo navegador e disponibiliza para download um arquivo no formato Pdf com o resultado do processamento;

Exemplo de um Report

Criaremos um exemplo de um Report simples que solicita os parâmetros dos Datasets no momento de sua execução:

Atenção

Para desenvolvimento sem chave de compilação, trocar no exemplo abaixo o comando DEFINE REPORT por DEFINE USER_REPORT 

Necessário fontes BIRTReport.prw, TDSProcess.prw e BIRTDataset.prw com data igual ou superior a 06/04/2016

#Include 'Protheus.ch'
#Include 'tdsBirt.ch'
 
User Function TESTEREP()
 
Local oReport

DEFINE REPORT oReport NAME REPTST1 TITLE "Teste de Report" ASKPAR EXCLUSIVE
 
ACTIVATE REPORT oReport LAYOUT REPTST1 FORMAT HTML

Return

 Aplicação

Após compilada a função, o Report poderá ser acessado via menu, bastando cadastrar a função U_TESTEREP() no menu desejado.

 

 

10 Comentários

  1. para não apresentar a tela do protheus anexada como configurar o parâmetro  ASKPAR ?

    1. Apenas remova a palavra ASKPAR.

      A mesma coisa para o parâmetro EXCLUSIVE, caso não deseje, apenas remova a palavra EXCLUSIVE.



  2. obrigado, outra duvida...ao chamar no menu do protheus, como deixar a opção TOTVS como primeira opção ?

    1. Atualmente não é possível definir a opção que inicia como padrão =/

  3. obrigado, Ricardo onde encontro documentação sobre o Birt, para criar relatórios, personalizar, etc...


    na listagem padrão do html ou pdf é gerado no máximo 40 linhas, e com isso vai criando novas paginas, precisando navegar entre elas, você sabe como gerar aumentar as linhas ou fazer uma listagem geral sem quebras por pagina ?

    1. A documentação que temos (da parte que envolve ADVPL e Protheus) é essa:

      http://tdn.totvs.com/pages/reorderpages.action?key=framework&openId=187827400#selectedPageInHierarchy


      O BIRT é uma ferramenta de terceiros que nós integramos com o Protheus. Sua documentação completa se encontra no link abaixo:

      http://www.eclipse.org/birt/documentation/


      Sobre customizar a quebra por página eu desconheço, mas pesquisando na internet achei esse link que talvez funcione pra você

      https://stackoverflow.com/questions/22217564/birt-report-viewer-how-to-show-all-results-on-same-page


      Como existe uma comunidade muito grande utilizando o BIRT, muitas coisas sobre customizações de relatórios você consegue encontrar em fóruns na internet ou na documentação do BIRT mesmo (http://www.eclipse.org/birt/documentation/)


  4. obrigado, deu certo com essas orientações


    abraço

  5. bom dia, sabes como posso configurar para que ao gerar o relatorios pelo menu do protheus nao de esse erro de Java ?? quero usar a conexao jdbc e nao a RPC...


  6. bom dia, mudou algo na configuração para chamada através do menu pois apos atualizações do Protheus nãoBIRT.zip esta mais funcionando...


    anexo