0 votos
12 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 (7 pontos) | 12 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.
atrás por (525 pontos)

Perguntas relacionadas

+1 voto
2 respostas
+2 votos
1 resposta
Melhores Feb 2020
  1. diuari.molinari

    30 Pontos

  2. henrique.muller

    18 Pontos

  3. juliano.pezzini

    13 Pontos

  4. thiago.almeida

    10 Pontos

  5. bruno.viek

    9 Pontos

  6. metalsystem.gustavo

    8 Pontos

  7. Leonardo Rovigo

    7 Pontos

  8. felipe.souza

    5 Pontos

  9. antonio.teles

    5 Pontos

  10. Francisco Santana

    5 Pontos

200 pontos
Melhores 2020 Feb 24 - Mar 01
  1. diuari.molinari

    9 Pontos

  2. bruno.viek

    9 Pontos

  3. felipe.souza

    5 Pontos

  4. juliano.pezzini

    5 Pontos

408 perguntas
459 respostas
333 comentários
461 usuários