Fare riferimento a sObject Fields dinamicamente da un valore stringa
Oct 23 2020
È possibile fare riferimento ai campi di un oggetto (opportunità in questo esempio) dinamicamente da un valore stringa?
Ad esempio, prendi il seguente codice:
for(Opportunity o: oppList) {
for(String s : strList) {
// I'd like to set the opportunity field values based on the string
// value that contains the API name of the opportunity field
}
}
Pertanto, la variabile strListcontiene i nomi dei campi dell'API dell'opportunità. Sto cercando di cancellare alcuni campi sull'opportunità in un trigger prima dell'aggiornamento, ma devo accedere dinamicamente ai nomi dei campi nel file strList.
Risposte
2 sfdcfox Oct 23 2020 at 04:09
Sì, i metodi "get" e "put" consentono di leggere e scrivere i campi in base ai loro nomi di campo:
for(Opportunity record: records) {
for(String fieldName: fieldNames) {
Object value = record.get(fieldName); // Get a field value!
record.put(fieldName, null); // Clear a field!
}
}