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) |