+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 Jun 2026
  1. Duwe

    4 Pontos

200 pontos
Melhores 2026 Jun 08 - 14
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. luciano.fronza

    61 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. diuari.molinari

    52 Pontos

  8. diuari.molinari

    51 Pontos

  9. diuari.molinari

    51 Pontos

  10. willian.metalsystem

    45 Pontos

518 perguntas
568 respostas
389 comentários
791 usuários