Cadastro Mestre Detalhe


#1

ola, boa tarde,

Tenho um cadastro Mestre/Detalhe com o seguinte requisito:
Na primeira aba (Mestre) tenho um campo chamado Campo_ID.
Na segunda aba (Detalhe ou Linha) tenho também um campo chamado Campo_ID o qual deve trazer o valor padrão escolhido na primeira aba(Mestre), porém deve possibilitar a alteração.

Na Janela, no field Campo_ID, da aba de Detalhe coloquei como lógica padrão @Campo_ID@, mas ele não se refere ao Campo_ID da aba Mestre e sim da própria aba de Detalhe.

Obs.: Não posso alterar o nome do campo da aba Mestre nem da Detalhe.

Alguém tem alguma idéia de como eu poderia referenciar a aba da qual eu quero o valor Campo_ID. Algo como @tab[0]@.@Campo_ID@ :slight_smile:

agradeço a atenção,


#2

não entendi muito bem, pq o Campo_ID do detalhe pode ser alterado, se é um detalhe do “cabeçalho”, o mesmo deveria ser marcado como vínculo com a aba pai, e preenchido automaticamente pelo sistema. SEM PERMITIR ALTERAÇÕES.

é estranho vc criar um registro filho, e poder mudar o pai.

sei que via callout, vc tem o windowno, e dai consegue fazer um getProperties passando a tab 0.

sds, Mario


#3

ola Mario,

Eu tenho uma estrutura com a seguinte disposição:

Exemplo Vide imagem:

Na minha tela de cadastro tenho o seguinte:
-Na aba mestre seleciono o Item: Item_ID
-Na aba de detalhe tenho TabelaEstrutura vinculada a aba 0 (Mestre) pela coluna ItemPai_ID
-O campo ItemPai_ID não pode ser alterado, pois como vc falou é parte do vínculo com a aba 0 (Mestre).

-O problema é que quando coloco como lógica padrão @Item_ID@ ele nao faz referencia ao campo Item_ID da tabela Item, mas sim da tabela Estrutura.

valeu a atenção,


#4

ah agora ficou claro o q vc quer fazer.

na verdade o problema é como vc está criando as suas tabelas.

por padrão, vc deve sempre criar 8 colunas padrões em suas tabelas, seguindo esta ordem.

NomeDaTabela_ID (Sua primary key, neste caso vamos usar Estrutura_ID)… este tem q ser a primeira coluna a ser criado
AD_Client_ID
AD_Org_ID
IsActive
Created
CreatedBy
Updated
UpdatedBy

na tabela dos detalhes, vc vai fazer a mesma coisa

NomeDaTabela_ID (Sua primary key, neste caso vamos usar Detalhe_ID)
AD_Client_ID
AD_Org_ID
IsActive
Created
CreatedBy
Updated
UpdatedBy

ok, criamos a tabela Detalhe, e vamos adicionar o ID do registro PAI, Estrutura_ID, e marcar ela como coluna de vínculo… pronto, o Adempiere, agora vai preencher sozinho para vc… e não esqueça de colocar na aba filha, qual a coluna de vínculo, para só mostrar os registro filhos daquela estrutura.

sds, Mario