Endereço da Organização


#1

Eu, estou fazendo um relatório no ireport, e preciso pegar o endereço da organização em que este relatório foi impresso… Só que ainda não consegui fazer isso, alguém ai pode me dar uma luz, sobre este assunto ?


#2

Faça um join com a “AD_ORG”, dela faça um join com a “AD_OrgInfo”, onde deve ter a chave estrangeira para o endereço “C_Location_ID”, apartir daí na “C_Location” você consegue todas as informações do endereço, se cadastrado corretamente.


#3

Caso você não tenha o AD_Org_ID como parâmetro para fazer o JOIN para a AD_Org conforme o clsource sugeriu, você pode fazer o JOIN a partir da AD_PInstance, pois o AD_PInstance_ID é passado como parâmetro automáticamente para o relatório, então na Tabela AD_PInstance você encontra o AD_Org_ID.


#4

Só uma dúvida, esse AD_PInstance_ID, por ele eu resgato a organização escolhida na hora do logon ?


#5

Sim, ele vai pegar a Organização escolhida no login.


#6

Obrigado pela resposta, mas vou explicar melhor o que eu preciso. Eu tenho um menu relatório, dentro deste tem vários relatórios, ao imprimir este relatório, eu faço uma consulta com você mesmo sugeriu, só que eu tenho um where = PARÂMETRO, esse parâmetro deve ter o id da organização logada, só que eu não sei como pegar esse id, tipo eu quero algo parecido com o RECORD_ID, só que lembrando que esses relatórios não estão em uma janela, e ai tem alguma dica ?


#7

Obrigado pela resposta, só que no meu caso não funciona, pq esse campo ele só é resgatado quando entramos em uma janela, no meu caso eu imprimo o relatório diretamente em um menu…

Ai eu preciso passar um parâmetro que resgate automaticamente o AD_Org_ID na qual o usuário está logado, tipo o RECORD_ID só que fora de uma janela.


#8

Olha eu estou fazendo a seguinte consulta:
SELECT
ad_org.ad_org_id,
AD_PInstance_ID,
c_location.“address1” || ', nº ’ ||
c_location.“address2” || ', ’ ||
c_location.“address3” || ', CEP ’ ||
c_location.“postal” || ', ’ ||
c_location.“city” || ‘-’ ||
c_location.“regionname” || ’ - Telefones ’ ||
ad_orginfo.“phone” || ’ - ’ ||
ad_orginfo.“phone2” AS endereco

FROM ad_org
left join ad_orginfo on ad_org.ad_org_id = ad_orginfo.ad_org_id
inner join c_location on ad_orginfo.c_location_id = c_location.c_location_id

WHERE ad_org.ad_org_id = PARÂMETRO

no lugar do PARÂMETRO eu preciso ter algo que pegue automaticamente na raiz do menu, o ID da organização logada.


#9

Gente me ajuda ai… Eu estou em um projeto de customização do adempiere aqui… já preocupei em um monte de lugar, mas não achei… por favor me dê uma luz ai… :frowning:


#10

seguinte, o adempiere passa alguns parâmetros por padrão para qualquer relatório jasper, são eles

"RECORD_ID", "AD_PINSTANCE_ID", "AD_CLIENT_ID", "AD_ROLE_ID", "AD_USER_ID"

dai é só vc usar na sua consulta… mas importante vc precisa criar os parâmetros no seu iReport igual vc está fazendo com o RECORD_ID, e claro, lembrar que é case sensitive

para pegar o AD_Org_ID é só fazer um subselect no seu where

(SELECT AD_Org_ID FROM AD_PInstance WHERE AD_PInstance_ID = $P{AD_PINSTANCE_ID})