Campos rollup

by Pedro Azevedo 14. February 2016 14:57

Boas Pessoal,

No post anterior falamos sobre campos calculados, hoje vamos falar de campos rollup. Como referi no post anterior quando criamos um campo vai aparecer mais opções para além do campo simples, os campos calculados e rollup:

image

Os tipos de campos em que se pode aplicar são: Inteiro, Decimal, Data e Moeda. Ao editar vemos o seguinte formulário que passamos a explicar mais ao pormenor:

image

Antes de começarmos a configurar vamos tentar perceber quando utilizar este tipo de objeto. Basicamente quando queremos somar ou contar algo sobre a própria entidade ou entidades relacionadas, por exemplo saber o valor de oportunidades que temos para um determinado cliente, o número de atividades, saber qual foi a maior compra desse cliente ou a média do valor das oportunidades.

Começando no início do formulário, podemos verificar que a entidade de origem é a conta, ou seja, a entidade sobre a qual estamos a criar este campo rollup e este campo não pode ser modificado. O campo abaixo define se queremos navegar sobre a hierarquia, ou seja, se queremos que os cálculos percorram não só os registos diretamente relacionados com a entidade mas também sobre uma eventual hierarquia, por exemplo percorrer uma possível hierarquia dos clientes:

image

Depois temos que configurar sobre qual a entidade sobre a qual vamos fazer a agregação, aliado a isso podemos colocar filtros para segmentar dados:

image

Na Agregação, temos as seguintes hipóteses:

image

Pode parecer estranho mas para este caso apenas temos um campo disponível, mas isto tem uma razão é que este campo rollup é do tipo inteiro, então só podemos fazer contas sobre “coisas” inteiras, neste caso estamos a calcular a média de probabilidades das oportunidades de uma determinada conta:

image

Mas o mais natural é realizarmos contas sobre os valores, para isso basta criarmos um campo do tipo Moeda, e como podemos ver na imagem a baixo já aparecem outros campos do tipo Moeda:

image

Estes campos podem ser usados em formulários, gráficos, visualizações e relatórios. Para além destes objetos os campos calculados poderão usar estes campos e o vice-versa também é possível.

Vamos ver como estes campos são visualizados no formulário:

image

 

Como podemos ver na imagem acima temos os dois campos rollup que criamos. Na imagem vemos o campo “campo rollup” que não tem valor mas se recalcularmos ele vai colocar o valor correto. No aviso que aparece na configuração do campo rollup explica a razão deste comportamento:

image

Mas o mesmo acontece aquando da atualização de uma das oportunidades, por exemplo vou adicionar produtos a oportunidade e vamos ver que o valor não se atualiza, apenas se forçarmos o recalculo. Este recalculo não implica a alteração do campo “modificado em”. No próprio campo é referido qual foi a última atualização que aquele campo teve:

image

Mas esta questão da atualização e como podemos resolver esta questão será descortinada em futuros posts. É uma questão muito importante porque as campos calculados, as regras de negócio e fluxos de trabalho vão usar o último valor calculado e pode não ser o “verdadeiro”.

Tal como nos campos calculados também existem algumas considerações:

  • Poderá haver no máximo 100 campos numa organização e até 10 por entidade;
  • Workflows não podem ser lançados por estes campos e não podem ser utilizados numa condição de espera;
  • Não pode ser aplicado sobre um campo rollup;
  • Não podemos fazer “rollup” sobre um campo rollup;
  • Um rollup não pode ser efetuado sobre relações N:N ou relação 1:N se a entidade for a atividade;

Ao contrário dos campos calculados estes campos são físicos, ou seja, são gravados na base de dados através de três campos, que serão explicados num post futuro.

Até a próxima

Tags: , ,

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

About

Muito bem casado, Pai babado e um gosto muito grande pela tecnologia.

Tenho um lema "Sharing is Learning"

Mais aqui -> http://www.psazevedo.com

Month List