Ответ 1
Все поля всегда присутствуют в триггере независимо от того, являются ли они грязными или нет, чтобы определить, было ли изменено определенное поле, вы должны получить предыдущую версию строки, используя карту oldMap
, которая является Map<ID, sObject>
и сравнить значения в старых и новых. Например
trigger CaseOnParticularFieldUpdate on Case (before update) {
for (Case c: Trigger.new) {
Case oldCase = Trigger.oldMap.get(c.ID);
if (c.Field != oldCase.Field) {
// field was updated, do some magic here
}
}
}