Encode & Decode Tools
[Salesforce]日本時間に合わせる
日本時間に合わせることで共有します。
時型の項目はTIMEVALUE関数で時間型に変換できます。
日本時間に合わせるために9時間ずらす必要があります。
「 + 3600000 * 9」で9時間ずらすことができます。
HOUR( TIMEVALUE(CreatedDate) + 3600000 * 9)
[Salesforce]サインインエラー: 「ログイン数超過」
サインインエラー: 「ログイン数超過」
・ログイン数とは、一定の期間内に 1 人のユーザが Salesforce へのログインを試みた回数です。
・ログイン数を制限することにより、Salesforce ではユーザあたりのログイン試行回数を制限してサービスのパフォーマンス低下を回避し、Salesforce へのログイン時のセキュリティを強化することができます。
・
ログイン数の超過エラーの原因は?
ユーザあたり 3,600 回/時を超えるログイン要求はブロックされ、組織のログイン履歴に LOGIN_RATE_EXCEEDED エラーが記録されます。
・ログイン数の超過エラーをトラブルシューティングする方法 (例を参照)
組織 API インテグレーションのユーザログイン履歴を監視および確認して、ユーザあたり 3,600 回/時を超える Salesforce へのログインコールを何度も生成しているユーザを特定することをお勧めします。
1 時間待ってから再度ログインを試みる。
問題が解消されない場合は、カスタムインテグレーションまたはサードパーティアプリケーションが原因と考えられる。
インテグレーションユーザのユーザ名やパスワードが間違っている。
[Salesforce]取引開始済みのリードを表示するレポートを作成する方法
取引開始済みのリードを表示するレポートを作成する方法
Salesforce Classic:
- [レポート] タブをクリックします。
- [新規レポート] をクリックします。
- [リード] フォルダの隣にある + の記号をクリックします。
- [取引開始済みのリード情報が関連するリード] レポートタイプを選択します。
- [作成] をクリックします。
- 必要に応じて、追加する項目を [プレビュー] セクションにドラッグします。
- [追加] のメニューをクリックします。
- [項目の絞り込み] を選択します。
- 「取引開始済み 次の文字列と一致する True」の条件を入力します。
- [レポートを実行] をクリックします。
Lightning Experience:
- [レポート] タブをクリックします。
- [新規レポート] をクリックします。
- [リード] をクリックします。
- [取引開始済みのリード情報が関連するリード] レポートタイプを選択します。
- [続行] をクリックします
- 必要に応じて、[アウトライン] タブから項目を追加します。
- [検索条件] タブに切替えます。
- [検索条件] を選択します。
- 「取引開始済み 次の文字列と一致する True」の条件を入力します。
- [レポートを実行] をクリックします。
- [保存] をクリックします。
[Salesforce]選択リストの値とAPI参照名取得
選択リストの値とAPI参照名取得例を紹介します。
// 取引先選択リスト項目取得
Map<String, String> mapArealist = new Map<String, String>();
Schema.DescribeFieldResult field = Account.Area__c.getDescribe();
for (Schema.PicklistEntry f : field.getPicklistValues()) {
System.debug(f.getLabel()+'-'+f.getValue());
mapArealist.put(f.getLabel(), f.getValue());
}
[Salesforce]カスタム表示ラベルをApexクラスで表示
[Salesforce]カスタム表示ラベルをApexクラスで表示
result = System.Label.HelloLabel;
[Salesforce]カスタム表示ラベルをVisualforceページで表示
カスタム表示ラベルをVisualforceページで表示例です。
<apex:page>
<h1>{!$Label.HelloLabel}</h1>
</apex:page>
[Salesforce]Apex時間遅延関数
wait(10000);//Wait
//Wait
public static void wait(Integer millisec) {
if(millisec == null || millisec < 0) {
millisec = 0;
}
Long startTime = DateTime.now().getTime();
Long finishTime = DateTime.now().getTime();
while ((finishTime - startTime) < millisec) {
//sleep for parameter x millisecs
finishTime = DateTime.now().getTime();
}
// System.debug(‘>>> Done from ‘ + startTime + ‘ to ‘ + finishTime);
}
[Salesforce]Get Object API reference name and Prefix from object label
String searchObjLabelName = '取引先企業';
String targetObjectName = '';
Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();
for (String sKey : gd.keySet()) {
Schema.DescribeSObjectResult targetObject = gd.get(sKey).getDescribe();
if(targetObject.getLabel() == searchObjLabelName){
targetObjectName = targetObject.getName();
System.debug('targetObject.getLabel()----->targetObject.getName()::::::'+targetObject.getLabel()+'----->'+targetObject.getName());
}
}
String objName = targetObjectName;
schema.sObjectType sObjType = Schema.getGlobalDescribe().get(objName);
system.debug('prefix:'+(sObjType.getDescribe().getKeyPrefix()));
[Salesforce]オブジェクト表示ラベルからオブジェクトAPI参照名とPrefix取得
String searchObjLabelName = '取引先企業';
String targetObjectName = '';
Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();
for (String sKey : gd.keySet()) {
Schema.DescribeSObjectResult targetObject = gd.get(sKey).getDescribe();
if(targetObject.getLabel() == searchObjLabelName){
targetObjectName = targetObject.getName();
System.debug('targetObject.getLabel()----->targetObject.getName()::::::'+targetObject.getLabel()+'----->'+targetObject.getName());
}
}
String objName = targetObjectName;
schema.sObjectType sObjType = Schema.getGlobalDescribe().get(objName);
system.debug('prefix:'+(sObjType.getDescribe().getKeyPrefix()));