Validar registros em diferentes submodelos

Possuo uma tela com um relacionamento Pai + Filho + Neto onde no ultimo submodelo (neto) preciso criar uma validação de forma que não seja incluído o mesmo código caso ele já exista em algum outro filho.

Vou deixar a imagem da tela e explicar em cima dela: image_2020_10_22T20_22_23_903Z.png

A entidade clientes seria o modelo Pai, equipamentos seria o Filho e Seriais, o Neto.

Um Cliente pode possuir diversos Equipamentos, e estes, por sua vez, vários Seriais.

A questão é que um segundo Cliente, pode possuir os mesmos equipamentos do primeiro cliente entretanto com diferentes seriais.

Dessa forma a minha necessidade é: Preciso validar em tempo de execução sempre que manipulado um serial, se o mesmo já não esta vinculado a um outro cliente e equipamento.

compartilhar
  • Pessoal, a imagem ficou cortada no corpo da pergunta.. pra ver completa, cliquem no link no final ou abram ela sozinha numa nova guia

    Marcos Felipe Rezende Xavier   22 de Oct de 2020
  • Bom dia Marcos, o método FWFORMGRIDMODEL():SetUniqueLine() não atenderia esta demanda? https://tdn.totvs.com/display/framework/FWFormGridModel#SetUniqueLine Teria que ver se o serial digitado não está presente em digitações anteriores, daí talvez seria necessário criar na validação do próprio campo mesmo, varrer nos itens dos models e fazer um select no banco, para validar tanto digitações anteriores quanto as que estão em memória. Para adicionar validação no campo: https://tdn.totvs.com/display/framework/FWFormModelStruct#SetProperty - MODEL_FIELD_VALID

    Leandro Francisco Silveira   23 de Oct de 2020
  • Então Leandro, o SetUniqueLine olha apenas o modelo filtrado, quando passo pra segunda linha do filho, nos netos dele, não são validados os netos do primeiro filho. Quanto ao valid, fizemos assim mesmo.. mas foi muito muito trabalhoso. Queria saber se existia algum método ou alguma forma de varrer os netos sem filtro pelo pai... pelo visto a única forma eh na mão mesmo.

    Marcos Felipe Rezende Xavier   23 de Oct de 2020
  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 mvc grid validacao ou faça a sua própria pergunta.