DocuSign eSignature for Salesforce: Mesclar campos de moeda e campos de números que não contenham vírgula


Ao criar campos de mesclagem, as vírgulas não são preenchidas nas etiquetas DocuSign quando mapeadas de um campo de moeda ou número no Salesforce.

Visualização no Salesforce.com:

Imagem adicionada pelo usuário

Saída da Docusign:

Imagem adicionada pelo usuário
Como você pode ver, nenhuma vírgula é adicionada nos valores. Além disso, para os dados de moeda, ele não contém vírgulas ou o sinal de dólar como ele faz na interface do Salesforce.

Por que isso acontece?

DocuSign não está formatando o valor depois que ele é recebido do Salesforce. A execução da seguinte consulta SOQL exibe os valores de dados reais do banco de dados do Salesforce.

SELECT Amount,Number_Field__c FROM Opportunity WHERE Id = '0061a000003oDge'

Imagem adicionada pelo usuário

Por que endereçar esse problema?

É uma formatação simples que alguns podem ignorar e questionar que o esforço não vale a recompensa. No entanto, ao revisar acordos ou contratos, por exemplo, ter vírgulas dentro do número pode ajudar a eliminar a interpretação errada do valor em dólares. Pode-se argumentar que verificar um valor do contrato contendo duas vírgulas é mais fácil de classificar como um contrato grande do que contar 6 zeros.

Solução:

 
1. Crie campos de fórmulas no Salesforce.
2. Altere os campos de mesclagem para apontar para os novos campos de fórmula.

Pré Requisitos:
 

Construindo Campos de formulas

Campo de moeda no Salesforce:

Consegui encontrar o artigo do desenvolvedor no Salesforce para resolver esse mesmo problema para um campo de moeda.
https://developer.salesforce.com/forums/?id=906F00000008utHIAQ 
(em inglês)

Fórmula de exemplo:

IF(Amount < 0, "(", "") & "$" &
IF(ABS(Amount) >= 1000000, TEXT(FLOOR(ABS(Amount) / 1000000)) & ",", "") &
IF(ABS(Amount) >= 1000, RIGHT(TEXT(FLOOR(ABS(Amount) / 1000)), 3) & ",", "") &
RIGHT(TEXT(FLOOR(ABS(Amount))), 3) & "." &
IF(MOD(ABS(Amount) , 1) * 100 < 10, "0" & TEXT(ROUND(MOD(ABS(Amount) , 1), 2) * 100), TEXT(MIN(ROUND(MOD(ABS(Amount) , 1), 2) * 100, 99))) &
IF(Amount < 0, ")", "")

Campo do número no Salesforce:

Fonte: https://success.salesforce.com/answers?id=90630000000gpInAAI 
(em inglês)

Fórmula de exemplo:

CASE(LEN(TEXT( Number_Field__c )),
1, TEXT(Number_Field__c),
2, TEXT(Number_Field__c),
3, TEXT(Number_Field__c),
4, LEFT(TEXT(Number_Field__c), 1) & "," & RIGHT(TEXT(Number_Field__c), 3),
5, LEFT(TEXT(Number_Field__c), 2) & "," & RIGHT(TEXT(Number_Field__c), 3),
6, LEFT(TEXT(Number_Field__c), 3) & "," & RIGHT(TEXT(Number_Field__c), 3),
7, LEFT(TEXT(Number_Field__c), 1) & "," & MID(TEXT(Number_Field__c), 2,3) & "," & RIGHT(TEXT(Number_Field__c), 3),
8, LEFT(TEXT(Number_Field__c), 2) & "," & MID(TEXT(Number_Field__c), 3,3) & "," & RIGHT(TEXT(Number_Field__c), 3),
9, LEFT(TEXT(Number_Field__c), 3) & "," & MID(TEXT(Number_Field__c), 4,3) & "," & RIGHT(TEXT(Number_Field__c), 3),
10, LEFT(TEXT(Number_Field__c), 1) & "," & MID(TEXT(Number_Field__c), 2,3) & "," & MID(TEXT(Number_Field__c), 5, 3) & "," & RIGHT(TEXT(Number_Field__c), 3),
11, LEFT(TEXT(Number_Field__c), 2) & "," & MID(TEXT(Number_Field__c), 3,3) & "," & MID(TEXT(Number_Field__c), 6, 3) & "," & RIGHT(TEXT(Number_Field__c), 3),
12, LEFT(TEXT(Number_Field__c), 3) & "," & MID(TEXT(Number_Field__c), 4,3) & "," & MID(TEXT(Number_Field__c), 7, 3) & "," & RIGHT(TEXT(Number_Field__c), 3),
null)

Remapear campos de mesclagem:

Como os dados que você está tentando puxar agora estão localizados em um campo diferente, agora você precisa fazer referência a este novo campo de fórmula. O exemplo abaixo é quando o campo original foi "Valor" no Salesforce.

Faça login no DocuSign:
1. Preferencias
2. Personalizar tags
3. Selecione a tag do campo mesclagem para atualizar
4. Mude o nome do campo formula

Imagem adicionada pelo usuário

Se seus campos de mesclagem forem adicionados aos modelos, exclua os campos de mesclagem e adicione novamente de sua lista de tags "personalizada".

Resultados:

Imagem adicionada pelo usuário