DocuSign eSignature for Salesforce: 通貨や数値の差し込みフィールドにコンマが表示されない

差し込みフィールドを使って通貨や数値のデータを文書上のDocuSignフィールドにインポートする場合、位を区切るコンマが表示されません。

Salesforce.comでの表示:

Salesforce Currency & Number Fields


DocuSignフィールドでの表示:
Output from DocuSign merge field

上図のように、位を区切るコンマが数値に追加されません。通貨データの場合は、コンマも通貨記号(この例ではドル記号)も追加されません。

原因

SalesforceからDocuSignにインポートした値に書式が適用されることはありません。以下のSOQLクエリを実行すると、Salesforceデータベースでの実際のデータ値が表示されます。

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

この問題に対処する理由

これは表示上の問題であり、実際のデータは正しくインポートされます。ただし、数値内にコンマがあることで、契約文書の内容を確認するときの潜在的な解釈ミスを排除できる場合があります。たとえば、「1000000」よりも「1,000,000」と表示されている方が桁数を正確に理解できます。

解決方法:

  1. Salesforce側で数式項目を作成します。
  2. その数式項目と差し込みフィールドとのマッピングをDocuSignで再定義します。
 

必要な条件:

  1. 数式項目の作成
  2. 差し込みフィールドを作成する - DocuSign eSignature for Salesforce v7
 

数式項目の作成

Salesforce通貨項目:

通貨項目については、以下のフォーラムに同様の問題が投稿されています。
https://developer.salesforce.com/forums/?id=906F00000008utHIAQ

数式の例:
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, ")", "")
 

Salesforce数値項目:

出典: https://success.salesforce.com/answers?id=90630000000gpInAAI

数式の例:
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)
 

差し込みフィールドの再マッピング

データのインポート元となるSalesforce項目を変更したため、DocuSign側で差し込みフィールドのマッピングを再定義する必要があります。以下の例では、変更前のSalesforce項目「Amount」から新しい項目「Current Generator(s)」に再マッピングしています。
  1. 個人設定
  2. カスタムフィールド
  3. 更新する差し込みフィールドを選択
  4. 数式項目名の変更
  CurrencyCurrency String   

差し込みフィールドがテンプレート上に追加されている場合は、それを削除してからカスタムフィールドのリストから適切なフィールドを追加し直します。

結果:


User-added image


Author: Derrick Tran - Sr. Product Consultant - Professional Services 3/23/2016