Crie um campo calculado para automatizar cálculos manuais

Este tópico se aplica a Dynamics 365 Customer Engagement (on-premises). Para a versão Power Apps deste tópico, consulte: Definir campos calculados para automatizar cálculos manuais

Os campos calculados permitem cálculos manuais automáticos usados em seus processos corporativos. Por exemplo, um vendedor pode querer saber a receita ponderada para uma oportunidade, que se fundamenta na receita estimada de uma oportunidade multiplicada pela probabilidade. Ou, desejam aplicar automaticamente um desconto, se o pedido for maior que $500. Um campo calculado pode conter valores resultando de várias operações simples de matemática ou operações condicionais, como Maior que ou Se-Também e várias outros. Você pode fazer isso usando o recurso de campos calculados, sem precisar escrever código.

Os recursos de campos calculados:

  • Os campos calculados incluem cálculos que usam os campos da entidade atual ou entidades relacionadas principais.

  • O suporte da expressão está disponível na entidade atual e os campos da entidade primária relacionada nas seções Condição e nas seções Ação. As funções internas são:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT e TRIMRIGHT.

  • Um suporte condicional avançado fornece várias condições e ramificação. As operações lógicas incluem os operadores E e OU.

  • As capacidades de edição visual incluem interface do usuário moderna e intellisense na seção AÇÃO.

  • Uma integração contínua de campos calculados com formulários, exibições, gráficos e relatórios está disponível em tempo real.

  • Se você tiver atualizado sua organização Online para a Atualização de dezembro de 2016 para o Dynamics 365 (online), poderá configurar campos calculados para que usem controles personalizados.

Alguns exemplos de campos calculados

  • Receita ponderada: Receita estimada multiplicada por probabilidade

  • Líquido valor: Ativo subtraído pelas responsabilidades de uma determinada conta

  • Custo de trabalho: Taxa base de até 40 horas, mais o tempo adicional estipulado

  • Número de contatos: Telefone para uma oportunidade com base na conta ou no contato

  • Contagem de cliente potencial: Campo simples que fornece ideias para a qualidade de um determinado cliente potencial

  • Acompanhamento por: Acompanhamento de uma atividade por um número especificado de dias com base na prioridade

Importante

Para criar um campo calculado, você deve ter o privilégio Gravação na entidade Perfil de Segurança de Campo. Se o campo calculado usa os campos protegidos no cálculo, considere proteger o campo calculado também, para evitar que os usuários acessem dados para os quais eles não tem permissões suficientes. O editor de campo calculado oferece um aviso, se você estiver criando um campo calculado que usa os campos protegidos em um cálculo, sugerindo a proteção do campo calculado. Mais informações: Segurança no nível de campo.

Exemplos de campos calculados

Vamos examinar exemplos de campo calculado em mais detalhes. Definiremos os campos calculados com o editor do campo. Para abrir o Editor de Campos:

  1. Abra o gerenciador de soluções

  2. Expanda Componentes>Entidades.

  3. Selecione a entidade desejada e selecione Campos. Selecione Novo.

    No editor, forneça as informações necessárias para o campo, incluindo o Tipo de campo e Tipo de dados. O Tipo de campo é Calculado. Os tipos de dados disponíveis para o campo calculado:

  • Linha única de texto

  • Conjunto de Opções

  • Duas Opções

  • Número Inteiro

  • Número Decimal

  • Moeda

  • Data e Hora

    O botão Editar ao lado de Tipo de Campo leva você para o editor de definição do campo calculado, no qual o novo campo calculado foi criado, mas nenhuma fórmula foi definida. A definição de campo calculado consiste em duas seções: CONDIÇÃO e AÇÃO.

  • Na seção Condição, é possível especificar uma entidade, campo, operador, tipo e valor. Na caixa suspensa para Entidade, selecione uma entidade atual ou uma entidade relacionada. Na caixa suspensa Campo, você tem uma seleção de todos os campos disponíveis para a entidade. Dependendo do operador você escolher, talvez seja necessário fornecer o tipo e o valor. É possível especificar várias condições usando operadores AND ou OR.

  • Na seção Ação, você fornece a fórmula para o campo calculado.

Observação

Você pode usar os dados dos registros de pesquisa em sua ação. É preciso primeiro selecionar o campo de pesquisa e então digitar um período. Depois disso, você pode selecionar um dos campos disponíveis na entidade relacionada. Por exemplo, no caso de <LookupFieldName>.<RelatedFieldName>, é possível selecionar: ParentAccountId.AccountNumber.

Observe que a segurança a nível de campo será ignorada na entidade relacionada, portanto, se houver dados confidenciais no campo acessado, sugerimos proteger o campo calculado também.

Receita da oportunidade estimada

Neste exemplo, estamos usando os campos da entidade de oportunidade para calcular a receita ponderada com base na probabilidade da oportunidade. No editor de campo para uma entidade de oportunidade, criamos um campo chamado “Receita Ponderada” e especificamos o tipo de campo como Calculado e o tipo de dados como Moeda. No editor de definição do campo calculado, na seção Condição, especificamos a oportunidade com um Status = Aberta. Em AÇÃO, a fórmula calcula a receita ponderada com base na receita estimada de oportunidade multiplicada pela probabilidade da oportunidade. As capturas de tela a seguir mostram a passo a passo como definir o campo Receita Ponderada calculada.

Criar o campo calculado chamado “Receita Ponderada”:

Receita estimada da Oportunidade no Dynamics 365 for Customer Engagement.

Definir a condição sobre as oportunidades:

Definir Receita Estimada no Dynamics 365 for Customer Engagement.

Forneça a fórmula para a receita ponderada:

Definir valor estimado da Receita Estimada no Dynamics 365 for Customer Engagement.

Completo:

Receita estimada para receita estimada no Dynamics 365 for Customer Engagement.

Data de acompanhamento da oportunidade

Neste exemplo, usamos os campos do cliente potencial originado de uma oportunidade, para calcular a data apropriada quando acompanhar na oportunidade. No editor de campo para uma entidade de oportunidade, criamos um campo chamado “Data de acompanhamento” e especificamos o tipo como Calculado e o tipo de dados como Data e Hora. No editor de definição do campo calculado, na seção Condição, especificamos duas condições: o período de compra e o valor estimado de cliente potencial. Em AÇÃO, nós fornecemos duas fórmulas: uma para acompanhar a oportunidade imediata por uma semana e a outra, para acompanhar por um mês se a oportunidade não tem chance de acontecer imediatamente. As capturas de tela a seguir mostram a passo a passo como definir o campo "Data de Acompanhamento" calculada.

Criar o campo calculado chamado “Data de Acompanhamento”:

Criar o campo calculado chamado Data de acompanhamento.

Defina as duas condições no cliente potencial original:

Definir a primeira condição para o campo calculado.

Definir a segunda condição para o campo calculado.

Forneça a fórmula para acompanhamento em uma semana:

Fornecer a fórmula para o campo calculado.

Forneça a fórmula para acompanhamento em um mês:

Fornecer a segunda fórmula.

Completo:

Definir Data de acompanhamento If-Then & Else no Dynamics 365 for Customer Engagement.

Dias de criação de um registro

Neste exemplo, usaremos a função DIFFINDAYS para calcular a diferença em dias a partir da hora em que um registro foi criado até a data atual.

Criar o campo calculado chamado "Diferença calculada em dias":

Criar campo calculado no Dynamics 365 for Customer Engagement.

Fornecer a fórmula para o cálculo da diferença em dias

Campo calculado, função de DIFFINDAYS.

Completo:

Diferença em dias desde a criação de registro.

A sintaxe das funções do campo calculado

A tabela a seguir contém as informações sobre a sintaxe para as funções fornecidas na seção de AÇÃO do campo calculado.

Gorjeta

Os nomes das funções são especificadas em letras maiúsculas.

Sintaxe de função Descrição Tipo de retorno
ADDDAYS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, mais o número de dias especificado. Data e Hora
ADDHOURS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, mais o número de horas especificado. Data e Hora
ADDMONTHS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, mais o número de meses especificado. Data e Hora
ADDWEEKS (número inteiro, data e hora) Retorna uma nova data e hora que são iguais à data e a hora fornecidas, mais o número de semanas especificado. Data e Hora
ADDYEARS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, mais o número de anos especificado. Data e Hora
SUBTRACTDAYS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, menos o número de dias especificado. Data e Hora
SUBTRACTHOURS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, menos o número de horas especificado. Data e Hora
SUBTRACTMONTHS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, menos o número de meses especificado. Data e Hora
SUBTRACTWEEKS (número inteiro, data e hora) Retorna uma nova data e hora que são iguais à data e a hora fornecidas, menos o número de semanas especificado. Data e Hora
SUBTRACTYEARS (número inteiro, data e hora) Retorna uma nova data e hora iguais à data e a hora fornecidas, menos o número de anos especificado. Data e Hora
DIFFINDAYS (data e hora, data e hora) Retorna a diferença em dias entre dois campos Data e Hora. Se as datas e as horas caírem no mesmo dia, a diferença será zero. Número Inteiro
DIFFINHOURS (data e hora, data e hora) Retorna a diferença em horas entre dois campos Data e Hora. Número Inteiro
DIFFINMINUTES (data e hora, data e hora) Retorna a diferença em minutos entre dois campos Data e Hora. Número Inteiro
DIFFINMONTHS (data e hora, data e hora) Retorna a diferença em meses entre dois campos Data e Hora. Se as datas e as horas caírem no mesmo mês, a diferença será zero. Número Inteiro
DIFFINWEEKS (data e hora, data e hora) Retorna a diferença em semanas entre dois campos Data e Hora. Se as datas e as horas caírem na mesma semana, a diferença será zero. Número Inteiro
DIFFINYEARS (data e hora, data e hora) Retorna a diferença em anos entre dois campos Data e Hora. Se as datas e as horas caírem no mesmo ano, a diferença será zero. Número Inteiro
CONCAT (linha única de texto, linha única de texto, … linha única de texto) Retorna uma sequência que é o resultado da concatenação de duas ou mais sequências. Cadeia de caracteres
TRIMLEFT (linha única de texto, número inteiro) Retorna uma sequência que contém uma cópia de sequência especificada sem os primeiros caracteres N. Cadeia de caracteres
TRIMRIGHT (linha única de texto, número inteiro) Retorna uma sequência que contém uma cópia de sequência especificada sem os últimos caracteres N. String

Observação

Todas as funções DIFF exigem que o primeiro campo Data e Hora e o segundo campo Data e Hora tenha o mesmo comportamento: Local do Usuário, Somente Data ou Independente de Fuso Horário. Se o comportamento do segundo campo não corresponder ao comportamento do primeiro campo, a mensagem de erro será mostrada, indicando que o segundo campo não poderá ser usado na função atual. Mais informações: Comportamento e formato do campo Data e Hora.

Observação

Não é possível inserir uma data, como 01/01/2015, como o valor da data de um campo calculado. Os valores de data e de DataHora podem ser configurados ou comparados somente com outros campos de DataHora.

Na função CONCAT, é possível usar as sequências literais como únicas linhas de texto, os campos de entidades que contenham uma única linha de texto ou uma combinação de ambas. Por exemplo: CONCAT (Nome, Sobrenome, "é um gerente. "). Se uma cadeia de caracteres literal contiver aspas, preceda cada marca com o caractere de escape de barra invertida (\), desta forma: "Esta cadeia de caracteres contém as \ "aspas \"". Isso garante que as aspas na cadeia de caracteres não sejam tratadas como os caracteres especiais que separam as cadeia de caracteres.

Os exemplos a seguir mostram como usar as funções TRIMLEFT e TRIMRIGHT. Eles contêm as sequências iniciais e as sequências resultantes, retornadas pelas funções TRIMLEFT e TRIMRIGHT:

TRIMLEFT ("RXX10-3456789", 3), retorna a cadeia de caracteres "10-3456789"
TRIMRIGHT ("20-3456789RXX", 3), retorna a cadeia de caracteres "20-3456789"

Considerações de campos calculados

Você deve estar ciente de determinadas condições e limitações ao trabalhar com os campos calculados:

  • Consultas salvas, gráficos e visualizações podem ter um máximo de 10 campos calculados exclusivos.

  • Os valores de campos calculados não são exibidos no modo Offline do Outlook do Customer Engagement nas exibições de bloco ou nos formulários principais da entidade.

  • Um número máximo de campos calculados encadeados é de 5.

  • Um campo calculado pode referir a si próprio ou ter cadeias cíclicas.

  • Se você alterar um dos operadores de condição em várias cláusulas de condição, todos os operadores de condição serão atualizados nessa condição. Por exemplo, na cláusula do IF (x > 50) OR (y ==10) OR (z < 5), se você alterar o operador do OR para o operador do AND, então todos os operadores do OR na cláusula se tornarão operadores do AND.

  • É possível acessar os campos parentais através do campo Pesquisa para a entidade pai, como <LookupFieldName>.<FieldName>. Isso não é possível com campos Pesquisa de várias entidade, como Customer, que pode ser Account ou Contact. Entretanto, algumas entidades possuem os campos Pesquisa individuais para uma entidade específica, como ParentAccountid.<FieldName> ou ParentContactid.<FieldName>.

  • A classificação é desabilitada em:

    • Um campo calculado que contenha um campo de um registro primário.

    • Um campo calculado que contém um campo lógico (por exemplo, campo de endereço).

    • Um campo calculado que contém outro campo calculado.

  • Os campos calculados podem abranger somente duas entidades.

    • Um campo calculado pode conter um campo de outra entidade (que abrange duas entidades – entidade atual e registro primário).

    • Um campo calculado não pode conter um campo calculado de outra entidade que também contenha outro campo de uma entidade diferente (abrangendo três entidade):
      (Entidade atual)Campo calculado < - (Registro Principal) Campo calculado 1 < - (Registro Principal) Campo calculado 2.

  • Não é possível disparar plug-ins ou fluxos de trabalho em campos calculados.

  • Você não pode modificar um campo simples existente para um campo calculado. Se seu aplicativo atual estiver usando JavaScript ou plug-ins para calcular um campo, você não conseguirá usar o recurso de campos calculados sem criar um novo campo.

  • As regras de detecção de duplicidades não são acionadas em campos calculados.

  • Um valor acumulado não pode referenciar um campo calculado que utiliza outro campo calculado, mesmo que todos os campos do outro campo calculado estejam na entidade atual.

Veja também

Criar e editar campos
Definir campos cumulativos
Vídeo: Campos calculados e cumulativos no Dynamics CRM 2015