Триггеры обновления полей играют решающую роль в разработке Salesforce, позволяя разработчикам выполнять пользовательскую логику перед вставкой или обновлением записи. В этой статье мы рассмотрим концепции триггеров «Перед вставкой» и «Перед обновлением», а также приведем примеры кода различных методов для их эффективной реализации.
Понимание триггеров обновления поля.
Триггеры обновления поля — это фрагменты кода Apex, которые выполняются перед вставкой или обновлением записи в базе данных Salesforce. Они предоставляют разработчикам возможность изменять значения полей, выполнять проверки и выполнять дополнительные операции на основе определенных условий.
- Метод 1. Использование триггера «Перед вставкой».
Триггер «Перед вставкой» срабатывает перед вставкой записей в базу данных. Вот пример простого триггера «Перед вставкой», который устанавливает статус записи на «Ожидание», если статус не указан:
trigger BeforeInsertTrigger on CustomObject__c (before insert) {
for (CustomObject__c obj : Trigger.new) {
if (obj.Status__c == null) {
obj.Status__c = 'Pending';
}
}
}
- Метод 2. Использование триггера «Перед обновлением».
Триггер «Перед обновлением» срабатывает перед обновлением записей в базе данных. Вот пример триггера «Перед обновлением», который предотвращает обновление, если статус записи установлен на «Закрыто»:
trigger BeforeUpdateTrigger on CustomObject__c (before update) {
for (CustomObject__c obj : Trigger.new) {
if (obj.Status__c == 'Closed') {
obj.addError('Updates not allowed on closed records.');
}
}
}
- Метод 3: объединение триггеров «Перед вставкой» и «Перед обновлением».
Также можно объединить оба триггера в один для обработки операций вставки и обновления. Вот пример:
trigger BeforeInsertAndUpdateTrigger on CustomObject__c (before insert, before update) {
for (CustomObject__c obj : Trigger.new) {
if (obj.Status__c == null) {
obj.Status__c = 'Pending';
} else if (obj.Status__c == 'Closed') {
obj.addError('Updates not allowed on closed records.');
}
}
}
Триггеры обновления поля, в частности триггеры «Перед вставкой» и «Перед обновлением», предоставляют мощные возможности настройки при разработке Salesforce. Используя эти триггеры, разработчики могут применять бизнес-правила, выполнять проверку данных и изменять значения полей перед вставкой или обновлением записей. Понимание того, как эффективно использовать эти триггеры, необходимо для создания надежных и адаптированных решений Salesforce.