2016-02-13 77 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) 
相關問題