[Salesforce]サインインエラー: 「ログイン数超過」

サインインエラー: 「ログイン数超過」

・ログイン数とは、一定の期間内に 1 人のユーザが Salesforce へのログインを試みた回数です。

・ログイン数を制限することにより、Salesforce ではユーザあたりのログイン試行回数を制限してサービスのパフォーマンス低下を回避し、Salesforce へのログイン時のセキュリティを強化することができます。

ログイン数の超過エラーの原因は?

ユーザあたり 3,600 回/時を超えるログイン要求はブロックされ、組織のログイン履歴に LOGIN_RATE_EXCEEDED エラーが記録されます。

ログイン数の超過エラーをトラブルシューティングする方法 (例を参照)

組織 API インテグレーションのユーザログイン履歴を監視および確認して、ユーザあたり 3,600 回/時を超える Salesforce へのログインコールを何度も生成しているユーザを特定することをお勧めします。

1 時間待ってから再度ログインを試みる。
問題が解消されない場合は、カスタムインテグレーションまたはサードパーティアプリケーションが原因と考えられる。
インテグレーションユーザのユーザ名やパスワードが間違っている。

[Salesforce]取引開始済みのリードを表示するレポートを作成する方法

取引開始済みのリードを表示するレポートを作成する方法

Salesforce Classic:

  1. [レポート] タブをクリックします。
  2. [新規レポート] をクリックします。
  3. [リード] フォルダの隣にある + の記号をクリックします。
  4. [取引開始済みのリード情報が関連するリード] レポートタイプを選択します。
  5. [作成] をクリックします。
  6. 必要に応じて、追加する項目を [プレビュー] セクションにドラッグします。
  7. [追加] のメニューをクリックします。
  8. [項目の絞り込み] を選択します。
  9. 「取引開始済み 次の文字列と一致する True」の条件を入力します。
  10. [レポートを実行] をクリックします。

Lightning Experience:

  1. [レポート] タブをクリックします。
  2. [新規レポート] をクリックします。
  3. [リード] をクリックします。
  4. [取引開始済みのリード情報が関連するリード] レポートタイプを選択します。
  5. [続行] をクリックします
  6. 必要に応じて、[アウトライン] タブから項目を追加します。
  7. [検索条件] タブに切替えます。
  8. [検索条件] を選択します。
  9. 「取引開始済み 次の文字列と一致する True」の条件を入力します。
  10. [レポートを実行] をクリックします。
  11. [保存] をクリックします。

[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時間遅延関数

     

  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()));

[Salesforce][ENG]Get Prefix from ObjectName

Share to get the Prefix from Salesforce’s ObjectName.

Execute the following on the “Open Execute Anonymous Window” screen of the “Debug” tab on the development console screen.

    String objName ='Account';	
    schema.sObjectType sObjType = Schema.getGlobalDescribe().get(objName);
    system.debug('prefix:'+(sObjType.getDescribe().getKeyPrefix()));

The DebugLog result is below.

prefix:001

[Salesforce][ENG]Get object API reference name from object label

Here is an example of getting an object display label from an object API reference name.

    String searchObjLabelName = '取引先';
    Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();
    for (String sKey : gd.keySet()) {
        Schema.DescribeSObjectResult targetObject = gd.get(sKey).getDescribe();
        if(targetObject.getLabel() == searchObjLabelName){
			System.debug('targetObject.getLabel()----->targetObject.getName()::::::'+targetObject.getLabel()+'----->'+targetObject.getName());
        }
    }