+5 votos
58 visitas

No cenário abaixo, precisamos criar um campo traduzido que retorne o perfil do cliente.

Este campo deve estar na tabela GLFT_FATURAS e deve resultar o campo PERFIL da tabela GLGL_PESSOACONFIGURACOES.

A tabela GLGL_PESSSOACONFIGURACOES possui uma relação 1 x 1 (Registro Único) com a tabela GLGL_PESSOAS.

A tabela GLFT_FATURAS também possuí relação com GLGL_PESSOAS pelo campo CLIENTE, porém não tem um relacionamento direto com GLGL_PESSOACONFIGURACOES.

Estamos procurando uma solução com uso de campo traduzido para exibição em carga do Runner. 

 

por (107 pontos)
editado por | 58 visitas

2 Respostas

+2 votos
Melhor resposta

Encontramos uma forma alternativa de criar tal campo sem uso de Campo Traduzido.

Utilizamos o campo Expressao (Expr) do Builder acrescentando o SQL abaixo e funcionou corretamente. 

SIT^SELECT GLCM_PERFILSITCLIENTE.NOME SIT
  FROM GLFT_FATURAS
       INNER JOIN GLGL_PESSOACONFIGURACOES ON GLGL_PESSOACONFIGURACOES.PESSOALOGISTICA = GLFT_FATURAS.CLIENTEPAGADOR
       INNER JOIN GLCM_PERFILSITCLIENTE ON GLCM_PERFILSITCLIENTE.HANDLE = GLGL_PESSOACONFIGURACOES.PERFILSITUACAOCLIENTE
 WHERE GLFT_FATURAS.HANDLE = :HANDLE 

Assim evitamos que a informação fique redundante e possivelmente incorreta devido a mudança no perfil em GLGL_PESSOASCONFIGURACOES e não seja aplicado na GLFT_FATURAS.

por (107 pontos)
selecionada por
Campo expressão não pode ser exibido na árvore do Runner, apenas no formulário.
+1 voto
Por campo traduzido não é possível resolver esta situação. O campo traduzido permite mostrar um outro campo de resultado a partir de um campo de relacionamento. Tem que haver um caminho onde eu só vou encontrar um registro.

Para mostrar o Perfil na árvore da tabela GLFT_FATURAS, ou você replica o perfil em GLGL_PESSOAS, ou cria um lookup em GLGL_PESSOAS para GLGL_PESSOACONFIGURACOES. Não escapa de fazer alguma redundância.
por (148 pontos)
Redundância era justamente a situação que queríamos evitar. Mas já suspeitávamos que não seria possível. Um pouco é culpa do relacionamento de tabela que criamos. Valeu.

Perguntas relacionadas

439 perguntas
486 respostas
350 comentários
473 usuários