+2 votos
100 visitas
Olá,

Necessito fazer uma operação matemática em campos a serem exibidos em uma visão, utilizei o seguinte trecho de codigo para tal implmentado da userinterdace da classe:

     [ViewLoaded]
        public void ViewLoaded()
        { ....
        }

[ViewLoaded(EntityViewName = "FN_MOVIMENTACOES.ZOOMDEPARCELAS.GRID")]
public void ViewLoadedPaginaGeral()
{
   this.Desconto +=  (this.Abatimento.HasValue ? this.Abatimento.Value : 0);
}

Realizei essa implementação e nao surtiu efeito, minha dúvida posso fazer esse tipo de operação na userinterface? se sim o que pode estar errado ou aonde seria a melhor estratégia de implmentação para esse caso, pois terei que fazer mais operações e e para outros campos.

Obrigado
por (11 pontos) | 100 visitas

1 Resposta

0 votos
Pode fazer este tipo de operação no userinterface sim !

Tem bons exemplos na entidade da ATItem.userinterface, seguem abaixo algumas dicas:

a) Separar a lógica de preenchimento do campo num método para que possa ser acionado em todos os pontos necessários

b) O exemplo que foi citado tem apenas um campo (Abatimento) que afeta o valor de outro campo (Desconto), então este método citado acima precisa ser chamado no changed do campo Abatimento, não pode ser chamado no Loaded. Muitas vezes o valor do campo é afetado por vários outros campos, então precisa chamar o método em todos os changes. E tem ainda outros casos onde um campo afeta o valor de vários campos, então no changed dele vai chamar vários métodos... enfim, todos estes exemplos podem ser encontrados na ATItem.userinterface.

c) Outra dica de ouro é usar bastantes caches nos códigos de presentation, como este, pois a performance é crucial nestes pontos, na ATItem também tem exemplos de usos de caches.
por (569 pontos)

Perguntas relacionadas

+2 votos
1 resposta
0 votos
1 resposta
Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários