Gravar campos que não estão no relacionamento MVC

Boa tarde!

Gostaria de tirar uma dúvida referente ao relacionamento de dados pai x filho no MVC.

Tenho uma tabela cabeçalho com os seguintes campos: Código Repositor, Nome do Repositor, e demais dados pessoais do repositor. (ZR1) E uma com os clientes que aquele repositor atende, com os seguintes campos: Código do Repositor, Nome do Repositor, Código do Cliente, Loja do Cliente e Razão Social. (ZR4)

Estou fazendo o relacionamento do grid com o cabeçalho usando o Código do Repositor, da seguinte maneira:

oModel:SetRelation('ModelGrid',{{'ZR4_FILIAL',"xFilial('ZR1')"},{'ZR4_CODREP','ZR1_COD'}}, ZR4->(IndexKey(2)) )

Porém sempre que os dados são preenchidos na tabela filho (ZR4), o Nome do Repositor não é preenchido. Mesmo possuindo gatilho.

E não gostaria de fazer o relacionamento usando o campo do nome do repositor, pois se por algum motivo um cadastro fosse alterado (sobrenome ou etc.) na ZR1, o relacionamento se perderia com a ZR4.

Como posso estar fazendo o preenchimento do campo do Nome do Repositor após ou na gravação dos dados? Atualmente estou utilizando a classe FwModelEvent, mas não sei se é uma boa prática.

Agradeço pela atenção.

compartilhar
  • Boa tarde, Giordano, normalmente nesse cenário, o nome do repositor na tabela ZR4 é apenas um campo virtual, não seria possível fazer dessa forma, visto que ele pode ser alterado na ZR1?

    Daniel Mendes   07 de Nov de 2019
  • Boa tarde, Daniel! Sim, o ideal seria o campo virtual mesmo, mas como o campo já foi criado como real por outro desenvolvedor para um projeto não-MVC, não estava querendo mexer na estrutura da tabela.

    Giordano Trabach Xavier   07 de Nov de 2019
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl mvc ou faça a sua própria pergunta.