Chamar processo do AD em cód. java

Grupo sobre o desenvolvimento/extensão das funcionalidades do Compiere / Adempiere onde é necessário alterar o código fonte.
catia.alessandra
Mensagens: 95
Registrado em: Seg Jan 03, 2011 12:54 pm
Localização: Ijui, RS
Contato:

Chamar processo do AD em cód. java

Mensagempor catia.alessandra » Qui Mai 17, 2012 2:47 pm

Boa tarde.
Olhei todos os tópicos do fórum e não encontrei nenhum que parecesse ter a mesma dúvida que eu. Ate li alguns tópicos inteiros.
Minha dúvida é a seguinte: tenho um relatório .jasper que é chamado a partir de uma classe java (um Formulário). Atualmente, esse relatório está incluído em uma lib que, cada vez que altero, tenho que gerar de novo e gerar um customization para atualizar. Fora que como temos o sistema em dois servidores diferentes (com ip's diferentes) e o relatório tem um sub-relatório, se colocar o endereço de IP pra um, não funciona para outro.
O que eu queria saber se é possível eu criar um "Processo/Relatório" e colocar esse relatório/sub-relatório na pasta "WebApp.ear" e chamar na minha classe, esse processo do AD que por sua vez chama o relatório.
Não sei se fui bem clara, mas essa é minha dúvida.
Agradeço desde já a ajuda.

Cátia
--
Cátia Alessandra Feistler
-------------------------------------------------------
E-mail: catia.alessandra@gmail.com
MSN: catia.alessandra.f@hotmail.com

catia.alessandra
Mensagens: 95
Registrado em: Seg Jan 03, 2011 12:54 pm
Localização: Ijui, RS
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor catia.alessandra » Qui Mai 17, 2012 4:51 pm

Modificando o que eu disse, achei o seguinte tópico: http://forum.kenos.com.br/viewtopic.php?f=4&t=777&p=3435&hilit=ProcessInfo#p3435.
Apenas ficou uma dúvida: porque setar o "AD_Client_ID" e o "AD_User_ID".
Obrigada
--
Cátia Alessandra Feistler
-------------------------------------------------------
E-mail: catia.alessandra@gmail.com
MSN: catia.alessandra.f@hotmail.com

ralexsander
Mensagens: 579
Registrado em: Ter Nov 21, 2006 7:43 am
Localização: São Paulo
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor ralexsander » Ter Mai 29, 2012 6:10 pm

Catia,

Dependendo do processo que vc vai executar as informações como AD_Client_ID, AD_Org_ID são relevantes e dependendo de como vc tentar rodar direto via Java você não terá essas informações dentro do seu processo.

Uma alternativa é você rodar o relatório em JasperReports diretamente pelo seu processo e você pode passar o ser JASPER como parâmetro, sugiro você dar uma olhada no código da Kenos no Mercurial, na branch LBR-39 sobre a Carta de Correção Eletrônica, lá tem um exemplo de como fazer isso.

Abs!
Ricardo Alexsander Santana
http://www.kenos.com.br

Monsores
Mensagens: 26
Registrado em: Dom Out 14, 2007 5:30 pm
Localização: Petrópolis/RJ
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor Monsores » Seg Jun 25, 2012 7:09 pm

Para não ter que ficar refazendo o empacotamento a cada vez que atualizo meu relatório no iReport, eu configurei o "processo/relatório" no AD e anexei o arquivo .jasper no registro. No campo onde informo o nome do arquivo eu preencho como "attachment:MeuRelatorio.jasper". Desta forma ele funciona tanto no client como via web, e toda vez que preciso atualizar eu só removo o anexo antigo e substituo pelo novo.


Sds,
Marcelo

catia.alessandra
Mensagens: 95
Registrado em: Seg Jan 03, 2011 12:54 pm
Localização: Ijui, RS
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor catia.alessandra » Ter Jun 26, 2012 8:29 am

Bom dia Marcelo.
Bom, no meu caso isso não funciona. Até temos vários relatórios que usamos o anexo.
Mas nesse caso, não é possível pois o relatório tem um sub-relatório.

Mas obrigada igual pela resposta :D
--
Cátia Alessandra Feistler
-------------------------------------------------------
E-mail: catia.alessandra@gmail.com
MSN: catia.alessandra.f@hotmail.com

Monsores
Mensagens: 26
Registrado em: Dom Out 14, 2007 5:30 pm
Localização: Petrópolis/RJ
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor Monsores » Ter Jun 26, 2012 1:57 pm

Obrigado, Catia.
Ainda não temos nenhum relatório com sub-relatórios no jasper, mas já fica a dica/preocupação para quando surgir a necessidade...

ralexsander
Mensagens: 579
Registrado em: Ter Nov 21, 2006 7:43 am
Localização: São Paulo
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor ralexsander » Ter Jun 26, 2012 2:36 pm

catia.alessandra escreveu:Mas nesse caso, não é possível pois o relatório tem um sub-relatório.


Catia, tanto da forma que eu expliquei na branch LBR-39 quanto usando os anexos é possível usar sub-relatórios, os subs são enviados como parâmetro no relatório principal.
Ricardo Alexsander Santana
http://www.kenos.com.br

catia.alessandra
Mensagens: 95
Registrado em: Seg Jan 03, 2011 12:54 pm
Localização: Ijui, RS
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor catia.alessandra » Ter Jun 26, 2012 3:02 pm

ralexsander escreveu: Catia, tanto da forma que eu expliquei na branch LBR-39 quanto usando os anexos é possível usar sub-relatórios, os subs são enviados como parâmetro no relatório principal.

Bom, em qual método eu vejo então?

Obrigada :wink:
--
Cátia Alessandra Feistler
-------------------------------------------------------
E-mail: catia.alessandra@gmail.com
MSN: catia.alessandra.f@hotmail.com

Monsores
Mensagens: 26
Registrado em: Dom Out 14, 2007 5:30 pm
Localização: Petrópolis/RJ
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor Monsores » Qua Jun 27, 2012 2:51 pm

Catia,
Fiquei curioso com o assunto e andei procurando mais informações. Pelo que li em http://www.adempiere.com/ADempiere/Comp ... attachment e http://sourceforge.net/projects/adempie ... ic/4646633 me parece que para usar um report com subreport, basta anexar os dois no processo e deixar vazio o parâmetro SUBREPORT_DIR do subreport.
Vou testar isso no sábado e informo o resultado aqui.

Sds,
Marcelo

catia.alessandra
Mensagens: 95
Registrado em: Seg Jan 03, 2011 12:54 pm
Localização: Ijui, RS
Contato:

Re: Chamar processo do AD em cód. java

Mensagempor catia.alessandra » Qua Jun 27, 2012 5:14 pm

Só tenho uma dúvida na linha

Código: Selecionar todos

SeuProcessoAdempiere proc = new SeuProcessoAdempiere(); // MUDE PARA O NOME DA SUA CLASSE
proc.startProcess(Env.getCtx(), pi, null);

pois não é a partir de um processo que vou abrir o relatório, é um Formulário, onde eu seleciono várias notas fiscais e mando imprimir o relatório que fiz.

:?:
--
Cátia Alessandra Feistler
-------------------------------------------------------
E-mail: catia.alessandra@gmail.com
MSN: catia.alessandra.f@hotmail.com


Voltar para “Desenvolvimento - Java”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante