quarta-feira, 27 de junho de 2018

Transformando ID 15 caracteres para 18 caracteres - SFDC

Sabemos que os IDs de registros no Salesforce possuem 15 caracteres (ou dígitos). Porém você já deve ter percebido em algumas situações um ID com 18 caracteres entra em cena. 
Bem, o padrão da Salesforce são registros com 15 caracteres entre Números e Letras Maiúsculas e Minúsculas. Isto é, o ID dos registros no Salesforce é Case Sensitive.
Exemplo de ID de uma Conta com 15 caracteres:


001f100001Q5RgL

Porém, caso seja necessário integrar o Salesforce com outra ferramenta que não diferencie as letras maiúsculas e minúsculas na comparação, a Salesforce criou mais 3 dígitos verificadores no ID original que transforma o ID em Case Insensitive. Isto é, ignora letras maiúsculas e minusculas. Dessa forma, o exemplo acima, seria com 18 caracteres:


001f100001Q5RgLAAV

Dentro da plataforma Salesforce, as 2 versões (com 15 ou 18 caracteres) continuam Case Sensitive, porém esses 3 dígitos a mais diferenciam os IDs que poderiam vir a se repetir caso a comparação seja feita ignorando letras maiúsculas e minusculas, facilitando assim a integração com outras ferramentas. 

DICA:

  • Não tente usar os IDs (mesmo de 18) alterando o que for maiúsculo para minúsculo e vice-versa dentro do Salesforce. Não vai funcionar!
  • Não tente usar os IDs de 15 caracteres fora do Salesforce. Pode have duplicados (se for uma comparação Case Insensitive).


Agora que você já a diferença, veja como é simples criar um campo fórmula para transformar um ID de 15 para ID de 18:

Crie um campo fórmula com o tipo de retorno texto e adicione a função CaseSafeId:


CASESAFEID(Conta__r.id)


Agora é só salvar a fórmula e Voilà! Você tem o ID de 18 caracteres!



* Precisa de um suporte ou consultoria na criação de fórmulas no Salesforce? Entre em contato conosco - CbCloud: http://www.cbcloud.com.br/ - Somos parceiros Gold Salesforce.