Mestre-Detalhe, ligação em detalhe gera erro na navegação do form pai

Form mestre-detalhe
Detalhe usando form grid editável view
Ligação do tipo aplicação associada a um dos campos do detalhe

Além de não gerar a ligação, bloqueia a navegação no form pai, entrando num loop infinito na tela ajax “Processando…”

Mais um pau no mestre-detalhe, fora o tempo de refresh em detalhes grid que tb gera o mesmo erro na navegação e até hoje não foi corrigido, já tem 2 meses que reclamei e nada. Aos compradores da v7, seria bom olhar esses bugs antes de comprar.

Olá,

Tenhos alguns form’s de mestre detalhe no SC 6, e funciona sem problemas!
Segui as instruções contidas no vídeo aula disponível no site da netmake!
No Grid editável não uso cláusula Where, faço o relacionamento pelo form pai!

Att,

Jocimar

Boa noite rrma,

Acredito que o problema pode estar acontecendo devido a algum problema em sua aplicação. O Sr. tem eventos ajax na aplicação?

O Sr. pode, a nível de testes, criar a aplicaçao Mestre e Detalhe, linkar as duas e verificar se o problema continua.

att,
Bernhard Bernsmann

Boa noite.
O problema só ocorre quando crio a ligação. Se eu deleto a ligação o mestre/detalhe navega normalmente. Já criei, apaguei e criei novamente algumas vezes e o problema continua.

mas é só em uma aplicação específica ou em qualquer uma quer vc cria?
eu devo ter aqui uns 30 forms mestre detalhe, com várias verificações de um para o outro e funciona normal…

O problema ocorre após criar uma ligação, de um campo do detalhe para uma aplicação terceira, fora do mestre detalhe.
Entre o mestre e o detalhe não há nenhum erro.
Quando eu crio esta ligação, o form pai para de navegar entre os registros. Quando elimino a ligação, o form pai volta a nevegar.

Opa…agora que fui ler… NAVEGAR ENTRE REGISTROS… Irmão, isso realmente arrasta a App se no detalhe tiver muito registro…

faça asim… crie um relatorio pegando todos os registos do form pai… daí faça uma ligação no campo ID para abrir o form de dentro do relatório… se abrir rapidinho…vai ser o que estou falando… daí vc retorna a pagina e abre outro…

contornei minhas pesquisas de form dessa forma… inclusive quando faço assim eu desabilito a navegação…

Jean, obrigado pela boa vontade, mas meu problema não se encaixa nessa solução.
A aplicação é uma tela de pedido de venda. Dados da nota fiscal no form mestre, produtos no form detalhe.
Um dos campos do form detalhe é uma chave estrangeira para uma outra aplicação que não tem nada a ver com o pedido em si, é uma ligação externa.
Este campo que deve conter a ligação é não editável, e é preenchido por uma outra aplicação fora do pedido. As vezes esse campo pode estar vazio, as vezes preenchido. Queria apenas que quando houvesse um valor nele, ao clicar nesse valor, uma outra apl fosse chamada, só isso.

A aplicação ainda está sendo feita, não existem muitos registros, apenas uns 3 de teste, só isso.

Tudo funciona normalmente se eu não ligar um dos campos do detalhe a outra apl. Quando faço essa ligação, o form para de navegar, entrando num loop infinito.

entendi, então nesse caso vc fez um relacionamento Pai>Filho>neto , como o forme Filho é grid editável nele não pode ter chave de relacionamento com uma tabela abaixo… então tente tirar o relacionamento no banco de dados…se tiver com relacionamento para assegurar integridade relacional acho que dá nisso… tive esse problema tb…acho que resolvi assim…mas faz uns 4 meses…nem tenho mais certeza…

Na verdade Jean, é apenas pai e filho.
Nem o pai nem o filho fazem nenhum procedimento nessa outra apl ou tabela que quero abrir.
O campo do detalhe que quero criar a ligação, pode ter seu conteúdo preenchido por uma aplicação terceira.
Nesse caso, queria ao clicar nesse conteúdo, que essa outra apl seja chamada, saindo completamente do mestre/detalhe.

Seria como pegar um campo de um form qualquer, independente, e criar em um campo, uma ligação para uma outra apl, simples assim. O problema é que quando essa ligação é criada, o fato dessa apl estar como detalhe de outra, a navegação para de funcionar. Isso pra mim é bug.

É como o tempo de refresh em grids. Na consulta sozinha funciona normal. Se vc pegar essa consulta e colocar ela como detalhe de um form, a navegação desse form para de funcionar, entrando num loop ajax infinito.

Tem umas coisinhas no sc que quando a gente quer sair um pouco da receita de bolo, terminam por não funcionar.

Novamente, valeu pela ajuda e boa vontade. Vou continuar tentando :slight_smile:

Agora entendi. Meus form filho sao assim. Hoje cedo passo como faco. Estou respondendo pelo telefone.

Manda uma imagem da sua tela!

Não entendi Jean, o que vc quer ver?

Rodrigo,

Teria como o Sr. detalhar melhor como está criando o mestre detalhe? Quando crio um mestre detalhe “simples”, o problema não acontece. Estou simplesmente ligando um formulário único registro, a um detalhe (Consulta, Formulário Grid Editável e Grid Editável View).

att,
Bernhard Bernsmann

Bernhard, obrigado por responder.

O form mestre é “form único registro”
O form detalhe é “form grid editável view”
O form destino da ligação é “form único registro”

A ligação que pretendo é de 1 campo do detalhe para 1 form “único registro” totalmente separado dessa relação mestre/detalhe.
Quero apenas clicar no campo do detalhe e ir para outra aplicação, passando o ID (conteúdo do campo detalhe) como parâmetro da ligação, para que essa nova aplicação abra no registro desejado.

Duas coisas que percebi:

  1. No form detalhe, não aparece nada que identifique essa ligação, um link que direcione para a aplicação destino. Nem na forma de botão, nem link no conteúdo do campo;
  2. Quando o conteúdo do campo no form destino está como “0”, isto é, sem a chave estrangeira, a navegação no form mestre entra em loop infinito ao ser usada. Se o conteúdo do campo tiver uma chave válida, um ID para a aplicação ligada, a navegação funciona normal.

Quando eu elimino essa ligação criada, o form volta a funcionar normal.

Gostaria que essa ligação funcionasse como nos grids, onde o conteúdo do campo aparece como um link para uma outra plicação, só isso.

Grato.
Rodrigo

Rodrigo,

Muito obrigado pelas informações. Reportei este problema para nossa equipe de bugs.

att,
Bernhard Bernsmann