2016-02-13 52 views
1

参考避免硬编码ID的最佳实践#10,我的代码被认为是遵循最佳实践而不使用列表或映射?在最佳实践中避免在Apex中进行硬编码

Best Practices Link

trigger RecordTypeTester on Account (before update) { 
    for (Account acc: trigger.new) 
    { 
     if(acc.RecordTypeId == [SELECT Id from RecordType WHERE sObjectType = 'Account' AND IsActive = True AND Name = 'Health Care' LIMIT 1].Id) 
     { 
      //some code 

     } 
     else if (acc.RecordTypeId == [SELECT Id from RecordType WHERE sObjectType = 'Account' AND IsActive = True AND Name = 'Hi-Tech' LIMIT 1].Id) 
     { 
      //some code 
     } 

    } 
} 
+0

我看不到任何这里硬编码ID使用它(?) 。 – Rafael

+0

是的。我没有使用任何硬编码的ID。但是我询问了与使用列表和地图的最佳实践文章中提到的相比,我尝试过的替代实现。 –

回答

0

初始化恒定的第一

public final static Id INVOICE_SUMMARY_RECORD_TYPE_ID = Schema.SObjectType.Opportunity.getRecordTypeInfosByName().get('Invoice Summary').getRecordTypeId(); 

,然后,在方法

if (oppItem.RecordTypeId != INVOICE_SUMMARY_RECORD_TYPE_ID) 
相关问题