У меня проблемы с одним из наших пользовательских правил проверки, которое вынуждает меня иметь пустое значение в настраиваемом поле на основе определенных условий.
При редактировании поля вручную через интерфейс я просто стираю содержимое текстового поля, и оно отлично сохраняется.Но с апекс-кодом, как я могу поместить «пустое» значение в поле?Присвоение нулю этому полю, похоже, не работает.Я проверил консоль developper на наличие журналов, и ноль правильно присваивается моему свойству, но обновление по-прежнему выдает исключение с сообщением типа:
FIELD_CUSTOM_VALIDATION_EXCEPTION, CustomField; must be blank: [CustomField__c]
Вот как я назначаю ноль в коде апекса:
customObject.CustomField__c = null;
update customObject;
Присвоение нуля также не работает, так как для правила проверки необходимо, чтобы поле было пустым.Есть ли скрытый трюк, который позволяет мне сделать это через апекс?
РЕДАКТИРОВАТЬ: Вот формула проверки.Если значение равно true, возникает ошибка:
AND( ISPICKVAL(CustomStatusField ,'Custom Value') , !ISBLANK(CustomField__c )))
Таким образом, проверка в основном такова: если CustomStatusField
равно 'Custom Value'
, CustomField__c
должно быть пустым.
РЕДАКТИРОВАНИЕ № 2: Я наконец-то решил свою проблему.Приведенный выше код работал, как и ожидалось, но был еще один хитрый триггер, в результате которого поле было обновлено до ненулевого значения, что привело к сбою правила проверки.Боже, я ненавижу широкое использование триггеров для бизнес-логики!