Disponível apenas nos planos Pro e Enterprise.



Os campos de fórmula são campos calculados automaticamente que derivam seu valor de uma expressão atribuída pelo administrador. Você pode criar campos de fórmula em todos os módulos (Contato, Conta e Negócio), com um limite de 40 campos de fórmula por módulo. 

1. Definindo uma fórmula

Ao criar um campo de fórmula, você precisa adicionar a fórmula com a qual o valor do campo é calculado. Uma fórmula pode ter quatro elementos: 

 

Função:  Uma expressão que define uma relação entre uma variável independente e a outra. Exemplo: sum(5, 10) onde 'sum' é uma função.

Operador:  O símbolo que indica uma operação a ser realizada. Exemplo: 5+3=8, onde o operador + indica adição.

Campo:  Refere-se aos campos padrão do módulo escolhido. O valor do campo escolhido será utilizado como variável na fórmula.

Tipo de retorno:  o tipo de valor que será retornado quando a fórmula for calculada.


Nota: O número de campos que você escolheu para campos de fórmula é deduzido do número total de limites de campo disponíveis para você. Portanto, se você estiver no plano Pro e tiver um limite máximo de 50 campos numéricos e tiver escolhido 5 campos de fórmula com tipo de retorno como campos numéricos, agora terá 45 campos numéricos restantes.


Você pode ler mais sobre os limites de campo entre os planos aqui .


2. Criando uma fórmula

Dependendo do módulo escolhido e da fórmula que deseja criar, você pode criar uma fórmula como uma combinação de funções, operadores e campos. Vejamos um exemplo:

 

Calculando o valor da comissão para um vendedor com base no valor do negócio

Vamos considerar que o valor da comissão de um vendedor é de 5% do valor do negócio. Então vamos criar a fórmula no módulo negócio, para acessar o campo “Valor do negócio”.

 

Etapa 1: adicionar um campo de fórmula
Vá para  
Configurações de administrador > Módulo de contatos/contas/negócios  e clique  no botãobotão . Isso abre a sobreposição Adicionar campo. Selecione o ícone ' Fórmula ' na bandeja de campos personalizados e clique em.

Etapa 2: Nomeie o campo e defina o tipo de retorno

Atribua ao seu campo um nome que indique qual é o valor do campo. Neste exemplo, demos ao nosso campo o nome “Comissão baseada no valor do negócio”.

 

Etapa 3: definir o tipo de retorno

 

Dependendo do valor que está sendo calculado, escolha o tipo de retorno da saída no menu suspenso. Como estamos lidando com valores de comissão neste exemplo, o tipo de retorno é definido como "Número".

 

Observação:  a caixa de seleção do tipo de retorno aceita True ou False como valores.

Etapa 4: escolha as entidades da fórmula

Aqui, usamos um operador e o campo de negociação. Portanto, nossa fórmula seria Fórmula = (5/100) * Valor do negócio. 

 

Etapa 5: verifique a sintaxe da fórmula

Depois de inserir a fórmula, você pode verificar a validade sintática de sua fórmula. O sistema verifica se a saída corresponde ao tipo de retorno definido. Ele também verifica se os valores dos campos são do mesmo tipo. Para verificar se sua fórmula é válida, clique na opção “Verificar sintaxe”. Se um erro for detectado, ele exibirá uma mensagem de erro explicando o que deu errado.

 

Aqui está um exemplo de uma mensagem de erro. Ele indicará a entidade na qual o erro é, neste caso, a seção operador/função da fórmula. Um erro comum que ocorre ao usar funções é esquecer de adicionar o parêntese de fechamento. Isso é explicado pela mensagem de erro.

Passo 6: Clique.


Observação:  o campo de fórmula criado agora será computado em registros recém-criados ou em registros nos quais uma das variáveis do campo de fórmula é editada.

3. O que acontece quando o valor do campo usado na fórmula está vazio?

Digamos que o vendedor ainda não tenha preenchido o campo dependente. Aqui está um exemplo, definimos a comissão com base no “Valor da transação” e não inserimos o valor. O campo de fórmula “Comissão com base no valor do negócio” mostrará o valor como 0.
 

No caso de funções de texto, a mesma mensagem é exibida quando o campo está vazio. Neste exemplo, definimos a fórmula para o campo “Nome aparado” para concatenar o nome e o sobrenome. O primeiro nome não foi fornecido, portanto, o campo aparado exibirá "Digite o valor".


 


4. O que acontece quando faço downgrade?

Os campos de fórmula estão disponíveis para todos os usuários que estão nos planos Pro e Enterprise. No caso de um downgrade, seus campos de fórmula existentes não serão excluídos. A fórmula é removida e o campo se torna um campo calculado manualmente. O usuário pode inserir o valor com base no cálculo da fórmula. 


5. Quais são as funções de campo de fórmula suportadas?


FUNÇÕES MATEMÁTICAS

NOME DA FUNÇÃO

EXPRESSÃO

DESCRIÇÃO

EXEMPLO

máx.

MAX(valor1, valor2)

Retorna o maior de dois valores.

MAX( {{Deal.amount}} , {{Deal.base_currency_amount}} ) 

examina os campos "Valor da transação" e "Valor da transação na moeda base" em seu aplicativo da Web e retorna o valor mais alto entre os dois.

mín.

MIN(valor1, valor2)

Retorna o menor de dois valores.

MIN(Desconto, 20) examina o campo “Desconto” em seu aplicativo da Web e retorna o valor mais baixo (em todos os negócios), considerando também o número 20.

Chão

ANDAR(valor)

Arredonda o valor para baixo para o inteiro mais próximo.

ANDAR(23,8) é 23

Registro

LOG(valor)

Retorna o logaritmo do valor, em relação a uma viz base padrão. 2.718.

LOG(5) é 1,43

teto

CEIL(valor)

Arredonda um valor para o número inteiro mais próximo.

CEIL(6.3) é 7

Raiz quadrada

SQRT(valor)

Retorna a raiz quadrada positiva de um valor positivo.

QUADRADO(225) é 15



Função exponencial


EXP(expoente)

Eleva o número de Euler 2,718 a uma potência, ou seja, 2,718^potência.

EXP(2) é 7,39 (calculado como 2,718^2).

Função liga-desliga

POW(base, expoente)

Eleva um valor base a uma potência.

POW(3, 4) é 81, ou seja, 3^4 = 81.

Aleatório

aleatório()

Retorna um valor aleatório entre 0 e 1, onde 0 é incluído e 1 é excluído.

RAND() é 0,24. 

se

if(expressão_lógica,value_if_true,value_if_false)

Verifica se os critérios definidos para uma expressão lógica correspondem; executa as condições definidas como True se os critérios corresponderem, executa a condição definida como False se os critérios falharem.

if( {{Deal.amount}} > 500, {{Deal.amount}} - ( {{Deal.amount}} * 20/100), {{Deal.amount}} - {{Deal.amount}} * 5/100)


Calcula o preço com desconto com base no valor do negócio. 


Se o valor do Deal for superior a 500, aplica-se 20% de desconto.

Se o valor do negócio for inferior a 500, aplica-se 5% de desconto.

 


FUNÇÕES DE STRING

NOME DA FUNÇÃO

EXPRESSÃO 

DESCRIÇÃO

EXEMPLO

charAt

charAt('texto', índice especificado)

Extrai um caractere especificado de um pedaço de texto.

charAt('Tamanho do negócio', 2) é 'a'.


comparado a


compareTo('texto1', 'texto2')

Compara dois trechos de texto com base em sua posição no dicionário. Esta função diferencia maiúsculas de minúsculas.

compareTo('deal', 'contact') é 1, porque “d” em “deal” vem 1 casas antes de “c” em “contact”

compareToIgnoreCase

compareToIgnoreCase('texto1', 'texto2')

Compara dois trechos de texto com base em sua posição no dicionário. Esta função não diferencia maiúsculas de minúsculas.

compareToIgnoreCase('deal', 'DEAL') é 0, porque embora haja uma diferença entre maiúsculas e minúsculas, os caracteres são basicamente idênticos.

CONCAT

CONCAT('texto1', 'texto2')

Combina dois pedaços de texto.

CONCAT ('First name', 'Last name') combina valores de ambos os campos para mostrar o nome completo de um cliente em potencial.

termina com

endsWith('texto', 'caracteres especificados')

Verifica se um trecho de texto termina com os caracteres especificados; retorna True se terminar e retorna False se não terminar. Esta função diferencia maiúsculas de minúsculas.

endsWith(estágio de contato', 'idade') é True.

é igual a

equals('texto1', 'texto2')

Verifica se duas partes do texto correspondem; retorna True se forem iguais e retorna False se não forem. Esta função diferencia maiúsculas de minúsculas.

equals('contatos', 'contatos') retorna Verdadeiro.

equalsIgnoreCase

equalsIgnoreCase('texto1', 'texto2')

Verifica se duas partes do texto correspondem; retorna True se forem iguais e retorna False se não forem. Esta função não diferencia maiúsculas de minúsculas.

equalsIgnoreCase('contatos', 'CONTATOS') retorna Verdadeiro.

índice de

indexOf('texto', 'caractere especificado', fromIndex)

Retorna o índice de um caractere especificado em um trecho de texto, na primeira vez que ocorre.

indexOf('pipeline', 'i', 0) retorna 1. Isso significa que em “pipeline”, você está procurando a primeira ocorrência do caractere “i”, começando do índice 0, ou seja, começando de “p.”

lastIndexOf

lastIndexOf('texto', 'caractere especificado', fromIndex)

Retorna o índice de um caractere especificado em um trecho de texto, a última vez que ocorreu. A pesquisa é executada para trás.

lastIndexOf('pipeline', 'i', 6) retorna 5. Isso significa que em “pipeline”, você está procurando a última ocorrência do caractere “i”, começando de trás para frente do índice 6, ou seja, começando de trás para frente de “n”.

comprimento

comprimento('texto')

Retorna o número de caracteres em um pedaço de texto.

len('John Wayne') é 10.

substituir

replace('texto', 'oldCharacter', 'newCharacter')


Substitui um caractere toda vez que ele ocorre no texto.


replace('contato', 'c', 'C') substitui "contato" por "Contato"



6. Quais são os operadores de fórmula suportados?

OPERADOR

DESCRIÇÃO

EXEMPLO

+

Adiciona duas entidades 

10+23 é 33

-

Subtrai duas entidades

45-18 é 27

*

Multiplica duas entidades 

13*12 é 156

/

Divide duas entidades 

168/14 é 12

%

Calcula o restante

10% 8 é 2

>

Maior que 

Valor do negócio > 1000

<

Menos do que 

Valor do negócio <1000

>=

Melhor que ou igual a

Valor do negócio >= 1000

<=

Menor ou igual a

Valor do negócio <= 1000

==

Igual a

Nome da conta == Apple

!=

Não igual a

Nome da conta != Apple

&&

E (ambas as condições são atendidas)

(Nome == John) && (Território == EUA)

||

OU (qualquer condição é atendida)

(Nome == João) || (Território == EUA)

!

NÃO (a condição é negada)

(Estágio do negócio == Novo)