+11 votos
54 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 (148 pontos) | 54 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 May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. joseglauber

    11 Pontos

  4. SlimShady

    7 Pontos

  5. willian.metalsystem

    6 Pontos

  6. lucas.melo

    3 Pontos

  7. fluipress.luciano

    2 Pontos

  8. pajucara.wallacef

    2 Pontos

  9. jean.filho

    2 Pontos

  10. maicon.pereira

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
    433 perguntas
    476 respostas
    346 comentários
    466 usuários