Не пойму как такое может быть. Есть контракт с формульным полем, после отправки на аппровал запись блокируется, после отклонения или отзыва запись разблокируется, но после этого изменения полей участвующих в формуле, не меняют ее значение.
Формула считается на лету и не хранится в базе, поэтому не пойму в чем дело это баг или фича?
Посмотрел бы сначала запросом, убедился что поля действительно имеют нужное значение а формула все-равно не то. Потом начал бы формулу менять, убирая элементы по-одному. Т.е. сначала попытался бы исключить человеческую ошибку - то что ты мог неправильно посчитать по формуле и ожидать другой результат, в то время как формула сама по себе работает верно. После этого стал бы искать дальше, но быстрый гуглинг ничего не подсказал.
я бы проверил триггерится ли DML процесс вообще во время анлока.
попробуй как workaround сделай любой dummy field update как final step after approval / rejection
В общем я сам дурак, не заметил одно условие в формуле, всем спасибо )