Сделать правило проверки просто имеет Your_Checkbox__c
в качестве условия ошибки.Или сделайте триггер before insert, before update
для учетной записи (если у вас его еще нет), который проверит все записи в trigger.new
и вызовет addError()
для них.Правило валидации немного предпочтительнее, потому что оно просто config, без кода.
Проблема с любым из них состоит в том, что оно приведет к смерти всей вашей транзакции.Если ваш пакет обновляет 200 учетных записей, и у одной из них есть этот флажок - этот сбой заблокирует их обновление.Это сделано для того, чтобы убедиться, что состояние системы стабильно (читайте об «атомарных операциях» или «ACID»), вы не хотите, чтобы данные были наполовину обновлены ...
Так что, вероятно, вам придется уменьшить этопозвонив по номеру Database.upsert(accountsToUpdate, External_ID__c, false);
, чтобы сохранить то, что он может, и не выбрасывать исключения ...