Criar Formulário/Relatório


#1

Boa tarde,
Estou com um problema, preciso criar um relatório que na verdade é como se fosse a fatura, porem dentro deste relatório eu teria um formulário, porem não encontrei nenhuma forma onde eu poça criar linhas ou divisões uma linha em colunas eu até conseguiria faze-lo sem os separadores de linhas e colunas porem sem eles ficaria de ruim visualização.
Ficaria parecido com o desse link só que seria dentro de um relatório. demolaysc.org.br/formularios … nraria.jpg
Por exemplo quando se gera uma ordem de venda o sistema gera uma simples tabela com a lista de produtos, seria um começo eu conseguir alterar ou criar algo daquele tipo.
Gostaria de saber se alguém tem idéia de como posso fazer isso.

Obrigado,


#2

utilize o iReport para estes casos.

http://www.adempiere.com/index.php/ADempiere/Compiere_JasperReports_Integration_HowTo


#3

mgrigioni, muito obrigado.

eu dei uma lida no link que você passou, nele uma coisa não fica muito clara. Para poder fazer esse relatório eu precisaria alterar o fonte do sistema?
ou eu poderia fazer essa criação simplesmente utilizando a versão instalada na minha maquina?
essa duvida me surgiu pois existe um campo a ser preenchido que se chama ‘Classname’ e nele no exemplo está escrito ‘org.compiere.report.ReportStarter’, e não entendi se essa classe já ou se foi implementada para este relatório, e se não for preciso alterar os fontes onde eu devo colocar o arquivo jasper para que o sistema possa reconhece-lo ou como eu indico a localização do arquivo jasper para o sistema.
Pois possuo os fontes, mas não os compilei para utilizar, peguei uma versão compilada na internet para aprender a utilizar e ver o que é possível fazer com o sistema e o que possivelmente eu precisaria alterar no fonte para se adequar às necessidades da empresa onde estou tentando implanta-lo. E se for necessário a alteração dos fontes existe algum tutorial de como compilar o código pois pelo o que vi não é tão simples, ou eu não entendi muito bem a estrutura em que ele está desenvolvido.
Gostaria de saber também qual versão do IReport a versão 3.4.2 do Adempierelbr suporta

Obrigado.


#4

Com qual versão do iReport a release 3.4.2s do AdempiereLBR é compativel?
pois estou tentando tudo o que encontro na internet mas o máximo que consegui foi uma mensagem dizendo que o relatório não possui nenhuma pagina.
Vi em um tópico deste fórum o Mario dizendo algo sobre atualizar o JasperReport, isso é possível através do próprio sistema ou é necessário compilar os fontes?

Alguém saberia me responder o porque isso ocorre e qual é a versão??

Obrigado


#5

Bom dia Augusto,

a versão do IReport que utilizo é a 1.2.1, e o ADempiere LBR é a versão 3.4.2s.

Você segue esse tutorial que o Mario passou, no campo classname coloque org.compiere.report.ReportStarter e no campo JasperReport coloque o arquivo .jrxml que você gerou, exemplo arquivo.jrxml.

Você pode testar se o seu relatório vai funcionar no ADempiere, utilizando a base de dados do ADempiere, no botão Data do IReport, clique em Novo (New), selecione a opção do tipo de conexão (Type of connection) Database JDBC connection, no JDBC Driver a opção org.postgresql.Driver, no JDBC URL informe o ip do seu banco e o nome, ex: jdbc:postgresql://127.0.0.1:5432/DBAdempiere. No campo JDBC URL Wizard informe novamente o ip do seu banco e o nome da sua base de dados.

Por último, informe o usuário do seu banco e a senha. Clique em teste (test) para testar se a conexão com seu banco deu certo.

Espero ter ajudado.


#6

Complementando a mensagem anterior, existem três botões no canto superior direito, um de cor vermelha com amarelo (compila o seu relatório), uma seta verde (mostra o formato que ficou o relatório) e uma seta verde com um cilindro azul que mostra o relatório com os dados do seu banco (informa os dados que você necessita).


#7

paulo_dantas13

Sim funcionou sim.
Só que agora reapareceu uma outra duvida, como eu poderia fazer para atualizar o JasperReport para poder utilizar versões mais novas do iReport?

Obrigado


#8

Complementando o post anterior, a versão das que eu tenho a mais nova que consegui utilizar foi a 2.0.5.


#9

no adempiere 3.6.0 vc já pode usar a versão 3.7.3


#10

Desculpe a ignorância mas como eu posso fazer para compilar o código do adempiere 3.6.0 e integra-lo com o adempierelbr.
compilar os códigos e gerar uma versão para que possa ser instalada é uma coisa que no começo tentei fazer mas não obtive sucesso, e gostaria muito de saber como isso pode ser feito.

Obrigado


#11

aqui tem já o customization.jar e o DMP pronto para o ADempiere 3.6.0, infelizemente as coisas no ADempiereLBR ainda estão um pouco lentas para lançar a versão "oficial’

sourceforge.net/projects/oseb


#12

Bom agora estou com uma outra duvida, estou querendo que quando o usuário clicar no botão para impressão de uma ordem de venda (cotação/pedido de PDV) exiba/imprima o relatório que estou fazendo e não o relatório padrão do Adempiere. Como eu poderia fazer isso???

Obrigado


#13

entre no system, vá na janela em questão e entra na aba “ABA” e troque o processo na campo “PROCESSO”


#14

Mario fiz o que você falou porém quando mando imprimir o relatório não é gerado e na tela de erros aparece a seguinte trace de erro:

java.lang.NullPointerException
at net.sf.jasperreports.engine.JRPropertiesMap.getProperty(JRPropertiesMap.java:102)
at net.sf.jasperreports.engine.util.JRProperties.getProperty(JRProperties.java:511)
at net.sf.jasperreports.engine.util.JRProperties.getIntegerProperty(JRProperties.java:549)
at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:144)
at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:103)
at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:673)
at net.sf.jasperreports.engine.fill.JRFillDataset.setDatasource(JRFillDataset.java:610)
at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:599)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:864)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:702)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:660)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at org.compiere.report.ReportStarter.startProcess(ReportStarter.java:515)
at org.adempiere.util.ProcessUtil.startJavaProcess(ProcessUtil.java:116)
at org.compiere.apps.ProcessCtl.startProcess(ProcessCtl.java:653)
at org.compiere.apps.ProcessCtl.run(ProcessCtl.java:434)
at java.lang.Thread.run(Unknown Source)

Saberiam me dizer o que está errado?
Isso acontece se eu coloco a referencia do arquivo *.jasper se eu colocar a referencia do arquivo *.jrxml a mensagem de erro é:

JRException; e.getMessage()= Language “null” not supported by this report compiler.
Expecting “java” instead.

OBS.: Meu relatório possui sub-relatório como devo proceder?

Obrigado,


#15

Fiz alguns teste e notei que isso só ocorre quando meu relatório possui sub-relatórios.

Será que alguém saberia me dizer como posso resolver esse problema???
O processo que criei eu passo no campo Jasper Report no nome do meu relatório arquivo.jasper e deixo o arquivo em anexo no Processo.
no caso ele é apenas um agrupamento de sub-relatórios. Fiz isso pois precisava de um relatório com mais de uma pagina de texto estático.

Obrigado.


#16

tem que dar uma olhada na wiki como fazer para subreport anexado no sistema… eu aqui uso subreport na pasta webApp do jBoss e dai funciona normal


#17

mas eles funcionam normalmente do aplicativo desktop??


#18

funciona normal tanto desktop quanto web


#19

Na wiki ele fala sobre uma pasta ‘WebApp.ear’ e não encontrei essa pasta na minha versão do projeto, gostaria de saber se tem algo de especial nessa pasta ou eu posso simplismente cria-la e seguir os passos da wiki que deveria funcionar?

Obrigado


#20

Não estou obtendo sucesso com sub-relatórios eu só consigo fazer funcionar com relatórios simples, quando meu relatório tem algum sub-relatório acontece o erro que disse nos posts anteriores.

alguém tem idéia de o que eu posso fazer para resolver?

Obrigado