У меня есть запрос SOQL,
Я хочу проверить поля в запросе на FSL (безопасность на уровне поля) перед созданием строки запроса, и если они не читаются, не добавляйте их в строку. Возможно, это не самый лучший подход, но мне есть с чего начать. Следующее работает нормально.
String soql = 'SELECT Id, MAX(Name) personName, MAX(From_Date__c) fromDate, MAX(Status__c) status'
String end = ' FROM The_Object__c WHERE Id = :Id'
soql += end
SObject r = Database.query(soql);
Итак, чтобы проверить поле перед добавлением его в строку... Возможно, что-то вроде этого: (что не работает)
String extra_soql = ', SUM(Revenue__c) revenue ';
if (!Schema.sObjectType.The_Object__c.fields.Revenue__c.isAccessible()){
REMOVE THE SOQL SOMEHOW? OR PASS AN EMPTY STRING TO THE QUERY?
extra_soql = ''; <-- DOESNT WORK
extra_soql = ' '; <-- DOESNT WORK
extra_soql = NULL; <-- DOESNT WORK
NOT SURE WHAT TO DO IN HERE
}
soql += extra_soql
soql += end
SObject r = Database.query(soql);
Любые предложения и советы приветствуются.