You need to sign in to do that
Don't have an account?

項目一覧を取得するときに出るエラーをなくしたい
お世話になっております。
リードの項目一覧を取得したく、下記のように実装したのですが、
「System.SObjectException: Field Lead.HasOptedOutOfEmail is inaccessible in this context」というエラーが出てしまいます。
エラー内容からして、「HasOptedOutOfEmail」の項目に(権限がなくて?)アクセスできないのかと考えているのですが、
アクセスできない項目を除いて項目一覧を取得する方法はございますでしょうか。
ご存知の方がいらっしゃいましたらご教授をよろしくお願いいたします。
リードの項目一覧を取得したく、下記のように実装したのですが、
「System.SObjectException: Field Lead.HasOptedOutOfEmail is inaccessible in this context」というエラーが出てしまいます。
エラー内容からして、「HasOptedOutOfEmail」の項目に(権限がなくて?)アクセスできないのかと考えているのですが、
アクセスできない項目を除いて項目一覧を取得する方法はございますでしょうか。
ご存知の方がいらっしゃいましたらご教授をよろしくお願いいたします。
public List<SelectOption> fields = new List<SelectOption>(); for (Schema.SObjectField field: getSObjectFields('Lead')) { Schema.DescribeFieldResult fr = field.getDescribe(); fields.add(new SelectOption(fr.getName(), fr.getLabel())); } public List<Schema.SObjectField> getSObjectFields (String objectName) { Schema.DescribeSObjectResult sr = Schema.getGlobalDescribe().get(objectName).getDescribe(); return sr.fields.getMap().values(); }
原因はわかりませんが、こちらが一番近そうに思えます。
Schema.getGlobalDescribe and “Invalid field LastReferencedDate for Account”
http://salesforce.stackexchange.com/questions/16914/schema-getglobaldescribe-and-invalid-field-lastreferenceddate-for-account
All Answers
リードの参照権限を外したプロファイルのユーザでも特にエラーが発生しなかったので、項目レベルセキュリティなどでは無い気がします。
ちなみにApexからでなく標準の詳細ページから参照した場合は「HasOptedOutOfEmail」項目の値は参照できますでしょうか?
また、次の類似の投稿をみつけました。こちらのケースの場合はAPIバージョンが原因だったみたいです。
(自分の環境でAPIバージョンを下げるケースも確認してみたのですが、特にエラーになりませんでした。。)
System.SObjectException: Field Lead.LastViewedDate is inaccessible [ LastViewedDate ]
https://developer.salesforce.com/forums/ForumsMain?id=906F00000008olaIAA
私の環境でも下記コードで確認が取れました。
実は、「System.SObjectException: Field Lead.HasOptedOutOfEmail is inaccessible in this context」というエラーなのですが、
EclipseのExecute Anonymousで質問にあげたコードを実行すると出たエラーなのです。
Execute Anonymous実行時だと何か違うのでしょうか。。
原因はわかりませんが、こちらが一番近そうに思えます。
Schema.getGlobalDescribe and “Invalid field LastReferencedDate for Account”
http://salesforce.stackexchange.com/questions/16914/schema-getglobaldescribe-and-invalid-field-lastreferenceddate-for-account
ご回答ありがとうございました!
確認してみます!