[Salesforce]Id重複のListをMapに入れることでId重複解消策

Id重複のListをMapに入れることでId重複解消策を紹介します。

Account acc = [SELECT Id, Name FROM Account LIMIT 1];
List<Account> accList = new List<Account>();
accList.add(acc);
accList.add(acc);
System.debug('accList:'+accList);

Map<Id, Account> mapAccIdToAcc = new Map<Id, Account>();
mapAccIdToAcc.putAll(accList);
System.debug('mapAccIdToAcc:'+mapAccIdToAcc);

ログは以下です。

19:07:46:010 USER_DEBUG [97]|DEBUG|accList:(Account:{Id=0016T00002kM9AVQA0, Name=Slテスト名変更}, Account:{Id=0016T00002kM9AVQA0, Name=Slテスト名変更})
19:07:46:010 USER_DEBUG [101]|DEBUG|mapAccIdToAcc:{0016T00002kM9AVQA0=Account:{Id=0016T00002kM9AVQA0, Name=Slテスト名変更}}

[Salesforce]プロセスビルダーでToDoの「期日」項目表示

プロセスビルダーでToDoの「期日」項目表示

Salesforceの画面では「ToDo」で「期日」と表示される項目が、プロセスビルダーでは「期日のみ」と表示されてしまいます。

これは、SalesforceのAPIがこの項目(ActivityDate)に関しては、項目の表示ラベルと異なる値を返すことが原因です。

[Salesforce]オブジェクトのレコードタイプ名からレコードタイプ表示ラベル取得

オブジェクトのレコードタイプ名からレコードタイプ表示ラベル取得例を紹介します。

String RecordTypeDevName = 'testDevName';
String objName = 'testObject__c';

List<RecordType> recordTypeList = [
    SELECT Id
      , Name
      FROM RecordType
      WHERE SobjectType = : objName
      AND DeveloperName = : RecordTypeDevName
  ];

for(RecordType rtobj : recordTypeList){
    system.debug('rtobj.Name:'+rtobj.Name);
}

[Salesforce]オブジェクトAPI参照名からオブジェクト表示ラベル取得

オブジェクトAPI参照名からオブジェクト表示ラベル取得例を紹介します。

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

[Salesforce]オブジェクト表示ラベルからオブジェクトAPI参照名取得

オブジェクトAPI参照名からオブジェクト表示ラベル取得例を紹介します。

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