正規表現とAJAXツールキットのおかげで、必要なものに近づく方法を見つけました。
javascriptOnClickを呼び出すカスタム詳細ボタンを作成しました。
コードは現在の先頭を取り、文字クラス[AZ]内で、大文字の2文字を超える文字列を説明フィールドで検索します。文字列と一致するたびに、その文字列が小文字バージョンに置き換えられます。
文字列が「クリーンアップ」されると、リードを更新できます。
{!REQUIRESCRIPT("/soap/ajax/19.0/connection.js")} //adds the proper code for inclusion of AJAX toolkit
var url = parent.location.href; //string for the URL of the current page
var updateRecords = []; //array for holding records that this code will ultimately updated
var re = new RegExp('[A-Z]{2,}', 'g');
var inputString = "{!Lead.Description}";
var matches = inputString.match(re);
if(matches != null){
for(var i = 0; i< matches.length;i++){
inputString = inputString.replace(matches[i], matches[i].toLowerCase());
}
var update_Lead = new sforce.SObject("Lead"); //create a new sObject for storing updated record details
update_Lead.Id ="{!Lead.Id}"; //set the Id of the selected Lead record
update_Lead.Description = inputString;
updateRecords.push(update_Lead); //add the updated record to our array
}
result = sforce.connection.update(updateRecords); //push the updated records back to Salesforce
parent.location.href = url; //refresh the page
このコードは、Salesforce:JavaScriptを実行するためのカスタムボタンを見つけたものに基づいています。
このコードを修正して、Salesforceオブジェクトで機能し、選択したフィールドで機能するようにすることができるはずです。置換を行うコードを関数に移動して、これを簡単にすることができます。