[Apex] 列出所有不可編輯的欄位
當我們想要自己客製化一個 FieldHistory object,例如 Opporutunity Field History,我們就會寫一支小程式,在 Opprotunity reocrd 被更新的時候檢查所有欄位的異動狀態。
但其實有些欄位是不必要、甚至是不應該檢查的。
例如某些系統欄位:CreateDate、IsDeleted 之類的。
概念上來說,如果某個 field 不是 Updateable,就毋須檢查。
那如何確認某個 field 是不是 Updateable呢?
這裡有一個現成的方法可用:
以 Opportunity 為例:
Opportunity.sObjectType.getDescribe().fields.getMap().get(fieldName).getDescribe().isUpdateable()
上面這行的白話翻譯大致是∶把 Opportunity 這個 object 的 field map 抓出來之後,再從 field map 裡面提取指定 field 的屬性,其中一個可以檢查屬性就是 isUpdateable。
留言
張貼留言