+12 votos
125 visitas
Como o Bef trata campos obrigatórios que dependem da tab selecionada?

Abaixo segue exemplo de como a tabela é parametrizada no Builder.

Campo TabTipo, obrigatório, do tipo "Tab", com valores 1 - Prestador; 2 - Beneficiário.

Campo Presador, obrigatório, do tipo "Tabela";

Campo Beneficiário, obrigatório, do tipo Tabela;

[... demais campos].

 

Ao editar ou inserir um registro nesta table pelo Runner, ele é capaz de identificar que se o TabTipo é igual a Prestador o campo Beneficiário será opcional e vice-versa.

Porém ao fazer um update/insert utilizando a entidade especializada o BEF obriga o preenchimento do campo que não é referente ao TabTipo selecionado, por exemplo, TabTipo igual a Prestador, com campo Prestador informado e campo Beneficiario nulo é emitido mensagem: O campo "Beneficiário" é obrigatório.

 

Esse comportamento é normal?

Existe alguma outra forma de tratar tabelas parametrizadas desta forma?
por (153 pontos) | 125 visitas

1 Resposta

+6 votos
Melhor resposta
Olá Janaina,

O BEF trata sim esse tipo de validação. Pode falar mais sobre o seu cenário? Você está fazendo isso utilizando o Runner, ou é direto via código?
por (355 pontos)
selecionada por
Olá Marcio.

É via código, abaixo segue exemplo do código:

var teste = TabelaEntidade.Get(new Handle(handleTabela), GetMode.Edit);
teste.TabTipo = TabTipoItens.Prestador;
teste.Prestador.Handle = new Handle(handlePrestador);
teste.Beneficiario = null;

teste.Save();
Qual a versão de BEF está utilizando?
A versão que estamos utilizando é a 13.1
Estamos utilizando a versão 13.1.

Realmente o BEF consegue tratar o campo igual o Runner.
No caso a tabela que estou utilizando possui outro tab com campo obrigatório e este Tab estava null, então o BEF não conseguia identificar se o campo era de fato obrigatório, efetuei o tratamento do Tab e a entidade pode ser salva normalmente.

Obrigada!
Que bom que descobriu o problema ;)
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários