Modelagem Mestre Detalhe Clientes e Contatos Avançado Obrigado

Bom dia Pessoal,

Estou desenvolvendo um projeto para um cliente que já possue a seguinte estrutura :

Tabela de Clientes Campos NID | EID | Nome | Cargo | Fone

Tabela de Contatos Campos : NID | Nome | Cargo

E oque relaciona uma com a outra é uma tabela chamada CliContatos Campos: ClienteIDFK | ContatoIDFK

Criei um formulário mestre para tabela Clientes porém não tem como criar o form detalhe para Contatos visto que ele não possui a chave de relacionamento direto na tabela de Contatos.

O cliente me pediu que na mesma tela ele possa cadastrar os dados do cliente e dos contatos lembrando que existe mais de um contato a ser inserido para o cliente alguém tem alguma ideia?

Estou com dificuldade pra pensar em algo na mesma tela, fazer um cadastro simples para o cliente para depois fazer um cadastro de contato em telas todas separadas não é pratico.

Ideias são bem vindos preciso entregar isso até amanhã;

Fiz um esboço em na imagem abaixo como gostaria que fosse, onde o usuário de um lado no formulário mestre coloca os dados do cliente e do outro no formulário detalhe coloca os dados do contato e abaixo dele mais um detalhe para mostrar os contatos que foram inseridos, porém ao salvar o os contatos precisa salvar em duas tabelas ao mesmo tempo os dados na tabela contato e os IDS na tabela CliContatos.

Obrigado Pessoal!

Obrigado a Todos

Crie um botão do form cliente com uma ligação para o form contato (com target modal por ex.), passando o idCliente como parametro.
No evento afterInsert do form contato efetue um insert na tabela cliente_contato com os campos idContato e idCliente que recebeu como parametro.
[]s

Olá Pessoal,

Estava quase conseguindo fiz o seguinte:

Criei uma aplicação consulta para tabela contatos e relacionei com a tabela de cadastro de contatos, e coloquei pra exibir em iframe acima.

Depois criei uma aplicação formulario no cadastro de cliente e fiz um mestre detalhe inserindo essa aplicação acima, ficou perfeito mas os botões de editar e incluir somem.

Já estava fácil era só usar a dica do Allan de inserir no evento afterInsert as ids, mas agora que somem as opções de incluir o o lápis de editar dentro do mestre detalhe, complicou tudo.

Agradeço mais sugestões.

Dá uma olhada na tela:

Obrigado Pessoal

Se você colocar uma consulta no detalhe, a ligação desta comsulta com um form desaparece. Por isso eu falei pra colocar um botão no form mestre.
[]s

Entendi Allan, então não tem como deixar tudo na mesma tela sem usar modal ?

Existe a possibilidade de forçar essa exibição da ligação?

Queria usar iframe pra ficar tudo na mesma tela será que existe como?

Pessoal se alguém conseguiu por favor me dá um toque,

Eh possivel sim mas com programação manual

Pessoal
Obrigado,
Estou batendo cabeça aqui , existe algum modo de ativar o botão de edição e o botão novo na consulta dentro do detalhe?

estou tentando

sc_btn_display(‘update’, ‘on’);

mas não mostra, existe como forçar isso?

Consegui!!!
Fica a tela para quem precisar,

Usei a dica do campo Label passando parâmetro para o iframe:

A única coisa que ficou faltando é fazer oque o Allan sugeriu:
No evento afterInsert do form contato efetue um insert na tabela cliente_contato com os campos idContato e idCliente que recebeu como parametro.

Como faço para pegar o ID do contato para colocar no afterInsert?

veja resultado

Olha eu novamente:

Bom para pegar o último registro eu usei no evento onAfterInsert o comando sc_lookup ordenado pelo campo que eu precisava.

Se tiver mais alguma forma fiquem a vontade, é útil para outas pessoas.

Não sei se essa maneira é a mais segura e prudente de conseguir o ultimo registro, será que pode ocorrer algum dado cruzado sendo que dois usuários poderiam fazer o cadastro simultaneamente?

Abração e obrigado pela Ajuda de todos.

No evento afterInsert, para pegar o campo id é só colocá-lo entre chaves (ex: {IdCliente}).
Como vc fez para colocar o botão inserir na consulta?
[]s

Fala Allan,

Então o id que preciso é o id do contato porém ainda não terei o ID dele visto que só depois do cadastro.

Sobre como eu fiz , segui uma dica aqui no forum assim:

Criei um campo label e atribui o iframe chamando a aplicação no label passando parametro que eu precisava, ficou muito show, a única coisa que tive de ajustar é fazer exibir o label somente em modo de edição, fico 100%.

Essa dica resolveu vários dos meus problemas, pois muitos clientes querem fazer inputs customizados dentro de um detalhe e ainda por cima querem a grid na tela , como era no delphi.