Para quem não conhece o iReport é uma ótima alternativa para criação de relatórios. O Protheus possui uma integração nativa com esta poderosa ferramenta. Porém, pesquisando em alguns fóruns e documentações, percebi que há pouco material explicando o funcionamento desta integração, então foi desenvolvido este tutorial completo a respeito da integração do Protheus com o iReport.
Preparativos iniciais.
Este tutorial foi feito levando em base as seguintes configurações:
- Protheus 10 (atualizado em abril/2012)
- Java 6 update 31
- iReport 4.5.1
- Windows server 2003
- Banco de dados MSSQL 2005
- Inicialmente é necessário baixar os arquivos atualizados do iReport no site do suporte da TOTVS, como na imagem:
- Descompacte e substitua a pasta iReport do diretório base do Protheus pela pasta com o mesmo nome baixado na atualização.
- Baixe o driver JDBC relativo ao seu banco de dados, no meu caso o da Microsoft, que pode ser encontrado neste site: http://msdn.microsoft.com/en-us/sqlserver/aa937724
- Coloque o driver baixado na pasta JDBC do iReport
- Compile a atualização baixada na atualização (ptm) utilizando a ferramenta TotvsDevStudio
- Abra o configurador (SIGACFG) e edite o menu do configurador, adicionando uma nova opção, conforme imagem abaixo. Descrição: iReport Wizard, módulo: configurador, programa: CFGIREPORT, tipo: função protheus.
- Baixe e instale o java 6 (http://www.java.com/pt_BR/download/), tanto no servidor quanto na estação de trabalho
- Baixe e instale o iReport (http://jasperforge.org/website/ireportwebsite/IR%20Website/ir_download.html?header=project&target=ireport)
- É necessário habilitar o webservice do Protheus, caso o seu não esteja habilitado, siga estas instruções:
- Execute o Wizard de configuração do .INI no servidor do Protheus
- Habilite o protocolo HTTP como na imagem abaixo. Verifique se a porta utilizada não está ocupada por algum outro serviço do sistema operacional.
- Agora com o protocolo habilitado, no menu "Módulos web", inclua um módulo, seguindo as orientações das imagens.
- Escolha o módulo WS, um nome para instancia (no caso ws) e habilite a inicialização do processo com o sistema.
- Após clicar em avançar, o sistema irá perguntar se deve descompactar os arquivos do portal na pasta. Escolha sim.
- Relacione as empresas com o endereço de acesso.
- É importante que a porta utilizada pelo módulo seja a mesma configurada para o protocolo http. Neste caso foi utilizada a porta 85 com o ip 192.168.0.18 (ip do servidor)
- Escolha um diretório virtual para o serviço, neste caso foi utilizado o /ws
- Preencha a quantidade mínima e máxima de usuários
- Finalize o processo e reinicie o serviço do sistema.
- Teste o webservice no ip, porta e diretório escolhido através do navegador web. Deve ser apresentada uma tela com o descritivo dos serviços web ativos, caso não apareça esta tela, tente configurar novamente o webservice.
- Com o web service funcionando, pode-se partir para a criação de um relatório simples no iReport para testes iniciais. Se você ainda não tem muita experiência em desenvolvimento com o iReport, baixe no final deste artigo um exemplo de relatório.
- Com o relatório em mãos, acesse o menu criado no configurador (iReport Wizard), e siga os passos das imagens
- IMPORTANTE: no passo 16 é necessário colocar o relatório *.jrxml em um drive local, ex. c:\, caso contrário o sistema apresenta um erro.
- Adicione o relatório criado em algum menu, lembrando de preencher o nome físico do relatório (sem a extensão) no campo Programa e no tipo com Relatório iReport.
- Testar o menu criado, se tudo ocorreu bem, irá aparecer uma tela como esta:
- Clique em vídeo
- Está pronto.
Tava querendo muito implantar isso aqui, mais empaquei logo no inicio. No configurador do Ireport como eu sei dados como URL do Web service ? url do banco etc... ?
ResponderExcluirVocê esta definindo a url e porta, na configuração do webservice.
ResponderExcluire a parte de parâmetros que eu coloquei no ireport, vai funcionar como lá? do mesmo jeito?
ResponderExcluirNo momento de gerar no Protheus não gera nada e também não dá erro, gerou um pequeno log no arquivo RunReport.log:
ResponderExcluir"Jul 01, 2013 2:38:52 PM com.microsiga.iReportRun.run.RunReport main
INFO: Version: 11.20120612.4.6.0
Jul 01, 2013 2:38:52 PM com.microsiga.iReportRun.run.RunReport main
SEVERE: Were informed only 17 parameter"
Podem me ajudar?